_blank is not working in iOS 13 or above versions - ionic-framework

I am working on ionic project (ionic v1) my
cordova-ios version - 5.0.1
ionic cli - 3.19.0
and using http url's to show terms and condition and privacy policy of my app.
All is working fine but when I updated to latest iOS 13 version the URL's are not opening any more.
I am using ionic - InAppBrowser plugin and use below code to open url from app
window.open("http://example.com/terms", '_blank', 'location=no,clearcache=yes,clearsessioncache=yes');
also I used "usewkwebview=no" from link - https://github.com/apache/cordova-plugin-inappbrowser/issues/492
in options of InAppBrowser like this -
cordova.InAppBrowser.open("http://example.com/terms", '_blank', 'location=no,clearcache=yes,clearsessioncache=yes,usewkwebview=no');
But nothing worked.
I tried to update the InAppBrowser to latest version - 3.1.0
and also tried to install WebView plugin from link -
https://github.com/ionic-team/cordova-plugin-ionic-webview
But the WebView plugin showing a white screen when app launches.
I added
<allow-navigation href="*" />
in config.xml but it wasn't work.
Below iOS 13 versions everything working fine. I just want to open URL's in iOS 13 versions as well.
Any help will be appreciated

Try this step remove in app browser plugin then add it again -
cordova plugin rm cordova-plugin-inappbrowser
cordova plugin add https://github.com/apache/cordova-plugin-inappbrowser.git
Ref link - https://github.com/apache/cordova-plugin-inappbrowser/issues/492#issuecomment-543015062

$ sudo cordova plugin ls | grep inappbrowser
cordova-plugin-inappbrowser 1.7.2 "InAppBrowser"
vers :
$ sudo cordova plugin ls | grep inappbrowser
cordova-plugin-inappbrowser 3.2.0 "InAppBrowser"
1 - sudo cordova plugin rm cordova-plugin-inappbrowser
2 - sudo cordova plugin add cordova-plugin-inappbrowser

Related

Ionic 3 Native Plugin Social Sharing Error: Plugin not installed

I’m using an Ionic 3 app, trying to get social sharing working.
I followed the steps to install the Ionic Native Social Sharing plugin from: https://ionicframework.com/docs/v3/native/social-sharing/
Ran:
$ ionic cordova plugin add cordova-plugin-x-socialsharing
$ npm install --save #ionic-native/social-sharing#4
Imported the plugin (version 4.x.x) via my app module and added SocialSharing to the providers array.
Imported the plugin via my app.component using:
import { SocialSharing } from '#ionic-native/social-sharing';
Added to the constructor:
private socialSharing: SocialSharing
This share function, also in app.component is triggered via a button in the html (side menu):
async share() {
try {
// Pop the native social sharing sheet, allowing the user to choose how to share the app.
await this.socialSharing.share(this.shareMessage, this.shareSubject, this.shareFile, this.getShareUrl());
this.toast.show('Thanks for sharing!', 3000);
}
catch(err) {
console.error(err);
alert(err);
}
}
I’m using platforms: ios, android and browser.
When I call the method from a build on a real device I get the error:
"Plugin is not installed"
Tried:
Checking logs for installation errors. None seen.
Reinstalled plugin.
Checked plugin present using $ionic cordova plugin list. cordova-plugin-x-socialsharing 5.4.7 “SocialSharing” is present.
Removed and added all platforms again.
Wrapped the share method inside a platform.ready().
Nothing seems to be working. I cannot get the app to recognise the plugin is installed!
PLEASE HELP! :slight_smile: What can I try next?
Thanks
$ionic info:
Ionic:
Ionic CLI : 5.2.3 (/usr/local/lib/node_modules/ionic)
Ionic Framework : ionic-angular 3.9.5
#ionic/app-scripts : 3.2.2
Cordova:
Cordova CLI : 9.0.0 (cordova-lib#9.0.1)
Cordova Platforms : android 8.0.0, browser 6.0.0, ios 5.0.1
Cordova Plugins : cordova-plugin-ionic 5.4.0, cordova-plugin-ionic-keyboard 2.1.3, cordova-plugin-ionic-webview 2.5.1, (and 13 other plugins)
Utility:
cordova-res : 0.4.0 (update available: 0.6.0)
native-run : not installed
System:
ios-deploy : 1.9.4
ios-sim : 8.0.2
NodeJS : v11.2.0 (/usr/local/Cellar/node/11.2.0/bin/node)
npm : 6.9.2
OS : macOS Mojave
Xcode : Xcode 10.2 Build version 10E125
So according to your information your current installed plugin is version 5.4.7, to make plugins work with Ionic 3 you need to ensure you have installed 4.* version of the plugin.
Seems like you are using the right command for the install (adding #4 after the plugin install command).
Can you try uninstall the plugin and then attempt to reinstall and note which version its installing. You may have to try and install 4.* version:
npm install --save #ionic-native/social-sharing#4.12.0
I got an issue with cordova-plugin-x-socialsharing in Ionic3 and main issue was couldn't install cordova-plugin-x-socialsharing plugin properly(error: can't find plugin.xml for es6-promise-plugin).
Steps to fix:
Installed es6-promise-plugin : ionic cordova plugin add https://github.com/vstirbu/PromisesPlugin
Installed cordova-plugin-x-socialsharing : ionic cordova plugin add cordova-plugin-x-socialsharing
npm install --save #ionic-native/social-sharing#4

Ionic v4: "Ionic cordova run -l" won't start my app

Additional notes for upcoming viewers
This seems to be a common problem on macOS: https://github.com/ios-control/ios-sim/issues/253
Temporary solution below this question.
I've worked on a fresh ionic project a few days ago and I had no problems back then whatsoever.
Today I tried to start the development server: ionic cordova run -l but then I got this error message:
No target specified for emulator. Deploying to undefined simulator
Device type "com.apple.CoreSimulator.SimDeviceType.undefined" could not be found.
An error occurred while running subprocess cordova.
Logging currently available devices(ionic cordova run --list) gives me this output:
Available ios devices:
Available ios virtual devices:
It is empty. None devices are available. Not for ios and neither for android.
Ionic version: 4.12.0
Cordova version: 9.0.0
Nodejs version: 11.5.0
I would appreciate any help to make this work again.
Seems like you have upgraded the Mac OS, faced similar problem in past and updating and re-installing iOS-sim was not of much help.
For me following command worked without installing anything further
ionic cordova emulate ios --livereload --consolelogs --target="iPhone-6,com.apple.CoreSimulator.SimRuntime.iOS-12-2"
Also, you can try this one if above don't work
ionic cordova emulate ios --livereload --consolelogs --target="iPhone-6,com.apple.CoreSimulator.SimRuntime.iOS-12-2" --buildFlag="-UseModernBuildSystem=0"
Do the following:
cd platforms/ios/cordova && npm install ios-sim#latest
cd ../../../
cordova platform rm ios
cordova platform add ios#4.5.0
ionic cordova emulate ios --target --list
ionic cordova plugin rm cordova-plugin-console
That should do it.

Ionic don't see call-number plugin

I installed call number plugin on ionic. In fact it created a directory to ionic-native but I have the error "console.warn: Ionic Native: tried calling CallNumber.callNumber, but the CallNumber plugin is not installed.".
How I can fix this error?
Please be sure that you installed the cordova plugin:
ionic cordova plugin add call-number
Maybe you can try deleting the platforms and adding them again.
ionic cordova platform remove ios
ionic cordova platform remove android
ionic cordova platform add ios
ionic cordova platform add android

With cordova facebook plugin: run/build android not work

I am trying to add the plugin: cordova-plugin-facebook4 in my application with the ionic cordova plugin add command cordova-plugin-facebook4 - variable APP_ID =" 092809180912829 "--various APP_NAME =" test "
But whenever I install the plugin and useionic cordova build android`
I receive:
[ERROR] An error occurred while running subprocess cordova.
But if I remove the plugin, works perfectly build and run android.
I'm using ionic 4.3.0 / Cordova CLI 7.0.0 / Cordova platform: 7.0.0
Can anyone tell me what it can be? I found a lot on the internet, but none of the solutions worked for me and I no longer know what it can be. thanks
You can install the ionic-native facebook wrapper.
npm install #ionic-native/facebook#beta
and follow the instructions on Ionic-native facebook

How to keep both ionic 1, 3, version in my system

Initaially i was working with ionic 1.7.6 version with many apps. And by today some how i have changed to version 3.0.0. Now when i open my old projects under package.json i see the version as 3.0.0 instead of 1.7.6. And when i do sudo ionic build android it throws me some error to upgrade the version.
So now i have uninstall the ionic & cordova from my system.
Now i want to keep ionic 1 version 1.7.6 as well as ionic 3 version 3.0.0 how can i do it now.
so when ever i open the ionic 1 project i need to work on angularjs with ionic 1 version.
And when ever i open the project that i have created with version 3 i need to work with latest version of angular is with ionic 3..
please some one expalain me what should i need to do ??
Thank in advance !
I suspect you have installed ionic globally. If you want to run the local/project version of ionic you need to sudo ./node_modules/ionic/ionic ....
This will be the version of ionic as defined in the package.json of the project.
You can tuck this nicely away however using npm scripts (in your package.json):
e.g.
"scripts": {
"ionic": "sudo ./node_modules/ionic/ionic build "
}
Ten simply execute npm run ionic -- android