Phonegap push plugin: builgind iOS template error - ios

I'm developing the push notification feature with FCM on my app, both for Android and iOS.
After I successuflly managed the push notifications on Android devices, I was trying to do the same on a iOS one.
So, I started creted the template, like I made for Android.
But, creating the template, I got an error:
Build for ios is started
Uploading iOS keys...
Completed
Uploading an application template...
Completed
Building status: pending (13 attempts)
Building status: error ("plugman install --platform ios --project /tmp/gimlet/2719563/project --plugin phonegap-plugin-push#1.9.0": Fetching plugin "phonegap-plugin-push#1.9.0" via npm
Installing "phonegap-plugin-push" at "1.9.0" for ios
Failed to install 'phonegap-plugin-push':undefined
undefined
)
Removing iOS keys...
Completed
Removing the application template...
Completed
Error: Building status: error ("plugman install --platform ios --project /tmp/gimlet/2719563/project --plugin phonegap-plugin-push#1.9.0": Fetching plugin "phonegap-plugin-push#1.9.0" via npm
Installing "phonegap-plugin-push" at "1.9.0" for ios
Failed to install 'phonegap-plugin-push':undefined
undefined
)
This is my config.xml file:
<widget id="com.devexpress.apptemplate" version="1.0" versionCode="1">
<name>ApplicationTemplate</name>
<description>Template</description>
<preference name="phonegap-version" value="cli-6.4.0" />
<preference name="permissions" value="none" />
<preference name="prerendered-icon" value="true" />
<preference name="android-windowSoftInputMode" value="adjustPan" />
<preference name="SplashScreen" value="splash" />
<preference name="SplashScreenDelay" value="60000" />
<preference name="AutoHideSplashScreen" value="false" />
<preference name="SplashShowOnlyFirstTime" value="false" />
<preference name="FadeSplashScreen" value="false" />
<preference name="ShowSplashScreenSpinner" value="false" />
<preference name="DisallowOverscroll" value="true" />
<preference name="StatusBarOverlaysWebView" value="false" />
<preference name="StatusBarBackgroundColor" value="#000000" />
<preference name="android-minSdkVersion" value="15" />
<preference name="android-targetSdkVersion" value="22" />
<plugin name="cordova-plugin-geolocation" />
<plugin name="cordova-plugin-splashscreen" onload="true" />
<plugin name="cordova-plugin-whitelist" />
<plugin name="cordova-plugin-ios-longpress-fix" />
<plugin name="cordova-plugin-statusbar" onload="true" />
<plugin name="phonegap-plugin-push" spec="1.9.0"/>
<access origin="*" />
</widget>
The config.xml file is in the project APP.mobile (not in APP.shared). I don't understand why I can build the native template for Android (and it works like a charm) and in iOS not.
UPDATE: Summarized all the steps here: https://programmingistheway.wordpress.com/2017/07/19/devextremephonegap-how-to-manage-push-notifications-with-fcm/

To use FCM you should use v2.x.x version of the plugin
Latest published version is v2.0.0-rc5, try with that, or even install from github with cordova plugin add https://github.com/phonegap/phonegap-plugin-push/
In your config.xml you have to add the google-services json and plist files like this
<platform name="android">
<resource-file src="google-services.json" target="google-services.json" />
</platform>
<platform name="ios">
<resource-file src="GoogleService-Info.plist" />
</platform>
In your other question you seem to be using github url, not sure why you went back to 1.9.0

Related

Cordova inappbrowser not working when build in xcode

Since 30th of april Apple does not allow apps build with SDK lower than 13. Ive used to build my apps using Phonegap build (https://build.phonegap.com/) but it uses SDK 12. Now im trying to build my apps using Xcode.
Every build i do using Phonegap build and using a test distribution profile to install this build on my phone works like a charm but when i build the app using the same config.xml as i use for my Phonegap build the inappbrowser is not working anymore.
I think it has something to do with the UIWebView being depricated as of SKD 13. Therefor ive used the tutorials provided by Cordova to implement the WkWebview.
I've tried removing all plugins except wkwebview-engine and inappbrowser but this has no effect.
Cordova CLI 9.0.0
inappbrowser 3.2.0
wkwebview-engine 1.2.1
ios platform add 5.1.1
My config.xml
<?xml version='1.0' encoding='utf-8'?>
<widget id="com.app.name" version="0.2.13" xmlns="http://www.w3.org/ns/widgets"
xmlns:cdv="http://cordova.apache.org/ns/1.0" xmlns:android="http://schemas.android.com/apk/res/android">
<name>appname</name>
<description>
</description>
<author email="mymail" href="mywebsite">
my name
</author>
<content src="dist/index.html"/>
<platform name="ios"/>
<platform name="android"/>
<feature name="http://api.phonegap.com/1.0/network"/>
<preference name="permissions" value="none"/>
<preference name="phonegap-version" value="cli-9.0.0"/>
<preference name="orientation" value="portrait"/>
<preference name="target-device" value="universal"/>
<preference name="prerendered-icon" value="true"/>
<preference name="detect-data-types" value="false"/>
<preference name="exit-on-suspend" value="false"/>
<preference name="deployment-target" value="7.0"/>
<preference name="webviewbounce" value="false"/>
<preference name="stay-in-webview" value="false"/>
<preference name="ios-statusbarstyle" value="black-opaque"/>
<preference name="ShowSplashScreenSpinner" value="true"/>
<preference name="AutoHideSplashScreen" value="true"/>
<preference name="android-minSdkVersion" value="19"/>
<preference name="android-targetSdkVersion" value="28"/>
<preference name="android-installLocation" value="auto"/>
<preference name="android-windowSoftInputMode" value="stateVisible|adjustResize"/>
<preference name="DisallowOverscroll" value="true"/>
<preference name="ShowSplashScreen" value="true"/>
<preference name="FadeSplashScreen" value="false"/>
<preference name="SplashScreenDelay" value="2000"/>
<preference name="FadeSplashScreenDuration" value="0"/>
<platform name="android">
<preference name="fullscreen" value="false"/>
<edit-config file="app/src/main/AndroidManifest.xml" mode="merge" target="/manifest/application">
<application android:usesCleartextTraffic="true"/>
</edit-config>
</platform>
<platform name="ios">
<preference name="fullscreen" value="false"/>
</platform>
<access origin="*"/>
<allow-navigation href="*"/>
<allow-navigation href="*://*youtube.com"/>
<access origin="mailto:*" launch-external="true"/>
<allow-intent href="http://*/*"/>
<allow-intent href="https://*/*"/>
<allow-intent href="tel:*"/>
<allow-intent href="sms:*"/>
<allow-intent href="mailto:*" launch-external="yes"/>
<allow-intent href="geo:*"/>
<platform name="android">
<allow-intent href="market:*"/>
</platform>
<platform name="ios">
<allow-intent href="itms:*"/>
<allow-intent href="itms-apps:*"/>
<allow-navigation href="mailto:*" launch-external="yes"/>
</platform>
<feature name="TouchID">
<param name="ios-package" value="TouchID"/>
</feature>
<platform name="ios">
<preference name="WKWebViewOnly" value="true" />
<feature name="CDVWKWebViewEngine">
<param name="ios-package" value="CDVWKWebViewEngine" />
</feature>
<preference name="CordovaWebViewEngine" value="CDVWKWebViewEngine" />
</platform>
<plugin name="cordova-plugin-inappbrowser" spec="3.2.0" />
<plugin name="cordova-plugin-wkwebview-engine" spec="1.2.1" />
</widget>
before testing i do this to make sure all plugins are installed fresh:
rm -rf package-lock.json package.json platforms plugins/* node_modules
cordova platform add ios#5.1.1
i receive no response in the xcode console just this information when build is finished:
2020-05-13 16:23:33.805959+0200 App[7410:670156] [Accessibility] ****************** Loading GAX Client Bundle ****************
2020-05-13 16:23:33.996820+0200 App[7410:670156] Apache Cordova native platform version 5.1.1 is starting.
2020-05-13 16:23:33.998789+0200 App[7410:670156] Multi-tasking -> Device: YES, App: YES
2020-05-13 16:23:34.016143+0200 App[7410:670156]
Started backup to iCloud! Please be careful.
Your application might be rejected by Apple if you store too much data.
For more information please read "iOS Data Storage Guidelines" at:
https://developer.apple.com/icloud/documentation/data-storage/
To disable web storage backup to iCloud, set the BackupWebStorage preference to "local" in the Cordova config.xml file
2020-05-13 16:23:34.282716+0200 App[7410:670156] CDVWKWebViewEngine will reload WKWebView if required on resume
2020-05-13 16:23:34.283306+0200 App[7410:670156] Using WKWebView
2020-05-13 16:23:34.284438+0200 App[7410:670156] [CDVTimer][console] 0.174999ms
2020-05-13 16:23:34.285355+0200 App[7410:670156] [CDVTimer][handleopenurl] 0.338078ms
2020-05-13 16:23:34.290426+0200 App[7410:670156] Unlimited access to network resources
2020-05-13 16:23:34.291285+0200 App[7410:670156] [CDVTimer][intentandnavigationfilter] 5.457997ms
2020-05-13 16:23:34.292067+0200 App[7410:670156] [CDVTimer][gesturehandler] 0.302076ms
2020-05-13 16:23:34.292696+0200 App[7410:670156] [CDVTimer][TotalPluginStartup] 8.646965ms
I'm out of ideas to fix this. maybe anyone has some fresh look so i can try some new things.
Well managed to find the answer. My file structure was www/dist/index.html and in there was the link to cordova.js
<script type="text/javascript" src="cordova.js"></script>
it needed to be:
<script type="text/javascript" src="../cordova.js"></script>
besides that, during the command:
cordova platform add ios#5.1.1
there were some yellow messages for example:
Failed to install 'cordova-plugin-inappbrowser': Error: Cannot find module 'glob'
I was ignoring them because well... yellow
after some research i came across the solution for this. after the messages execute:
cordova platform rm ios
And then again:
cordova platform add ios#5.1.1
the second time the plugins are installed successfully and this time the inappbrowser works again.
for now this is a workaraound, the question im still having is why i get the Failed to install 'cordova-plugin-inappbrowser': Error: Cannot find module 'glob'messages when adding the platform for the first time..?

PhoneGap doesn't show iOS build

I'm developing a hybrid mobile app using PhoneGap as a build tool.
Enviroment:
Visual Studio 2015
DevExteme library
PhoneGap cli version 8.0.0
Cordova iOS version 5.0.0
Plugin added: Cordova Support Google Services and Cordova Plugin Firebase Analytics
Development certificate for iOS unlocked on my PhoneGap account
Steps:
Build a PhoneGap Zip.
Upload the code on PhoneGap account.
Build the app.
The problem: PhoneGap doesn't show iOS build, but only Android (which works perfectly on device)
What am I doing wrong?
Thank you in advance,
Sara
Edit: 2019-03-07
As requested, I add config.xml.
<widget id="com.devexpress.apptemplate" version="1.0" versionCode="1">
<name>ApplicationTemplate</name>
<description>Template</description>
<author email="email#sample.com" href="http://sample.com">Author</author>
<preference name="permissions" value="none" />
<preference name="prerendered-icon" value="true" />
<preference name="android-windowSoftInputMode" value="adjustResize" />
<preference name="SplashScreen" value="splash" />
<preference name="SplashScreenDelay" value="60000" />
<preference name="AutoHideSplashScreen" value="false" />
<preference name="SplashShowOnlyFirstTime" value="false" />
<preference name="FadeSplashScreen" value="false" />
<preference name="ShowSplashScreenSpinner" value="false" />
<preference name="DisallowOverscroll" value="true" />
<preference name="StatusBarOverlaysWebView" value="false" />
<preference name="StatusBarBackgroundColor" value="#000000" />
<preference name="android-minSdkVersion" value="14" />
<preference name="android-targetSdkVersion" value="22" />
<preference name="cordova-ios" version="5.0.0" />
<preference name="phonegap-version" value="cli-8.0.0" />
<plugin name="cordova-plugin-splashscreen" onload="true" />
<plugin name="cordova-plugin-whitelist" />
<plugin name="cordova-plugin-ios-longpress-fix" />
<plugin name="cordova-plugin-statusbar" onload="true" />
<access origin="*" />
<plugin name="cordova-plugin-inappbrowser" source="npm"></plugin>
<platform name="ios">
<resource-file src="GoogleService-Info.plist" />
</platform>
<plugin name ="cordova-support-google-services" />
<plugin name ="cordova-plugin-firebase-analytics" />
</widget>

Cordova Ionic project with Firebase Messaging and Firebase Dynamic Links

In the app that we're building, we need Firebase Dynamic Link, because the Sign Up is with Firebase email link login. This login will send an email to the provided email address, that when clicked, will open the app with a dynamic link. To keep our users engaged, we also like to send Push Notifications. I can get both of them to work together on Android when I use the versions by chemerisuk on GitHub. I even get an iOS build, but I get stuck on getting a token on iOS. Getting this error message:
Failed to fetch default token Error Domain=com.firebase.iid Code=1003 "(null)"
I've double checked my Firebase Project settings (bundle id, app id prefix, cloud messaging sender id, cloud messaging apn key) and my Apple settings (certificates, provisioning profiles, keys and identifiers). I've tried it on Simulators and Real Devices. I've tried Development builds, App Store Archives and Ad Hoc Archives.
Unfortunately, Dynamic Links isn't included in the Cordova Firebase plugin. When I try to add a different fcm plugin, it includes the complete Firebase Core, which conflicts with Dynamic Links.
I feel like I'm really close, who has any experience with this combination of plugins and got it working on iOS?
This is my environment:
Ionic:
ionic (Ionic CLI) : 4.0.2 (/usr/local/lib/node_modules/ionic)
Ionic Framework : ionic-angular 3.9.2
#ionic/app-scripts : 3.1.8
Cordova:
cordova (Cordova CLI) : 8.0.0
Cordova Platforms : android 7.0.0, ios 4.5.5
System:
Android SDK Tools : 26.1.1
ios-deploy : 1.9.2
ios-sim : 6.1.2
NodeJS : v8.11.3 (/usr/local/bin/node)
npm : 5.6.0
OS : macOS High Sierra
Xcode : Xcode 9.4.1 Build version 9F2000
Environment:
ANDROID_HOME : /Users/user/Library/Android/sdk/
My (relevant) Cordova config.xml:
<?xml version='1.0' encoding='utf-8'?>
<widget android-packageName="com.example.android" android-versionCode="10001" id="com.example.app" ios-CFBundleIdentifier="com.example.ios" ios-CFBundleVersion="1.0.1" version="1.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<name>Example</name>
<description>Some description</description>
<content src="index.html" />
<access origin="*" />
<allow-intent href="http://*/*" />
<allow-intent href="https://*/*" />
<allow-intent href="tel:*" />
<allow-intent href="sms:*" />
<allow-intent href="mailto:*" />
<allow-intent href="geo:*" />
<preference name="ScrollEnabled" value="false" />
<preference name="BackgroundColor" value="0xff168aa5" />
<preference name="android-minSdkVersion" value="16" />
<preference name="BackupWebStorage" value="none" />
<preference name="SplashMaintainAspectRatio" value="true" />
<preference name="FadeSplashScreenDuration" value="300" />
<preference name="Orientation" value="portrait" />
<preference name="SplashShowOnlyFirstTime" value="false" />
<preference name="SplashScreen" value="screen" />
<preference name="SplashScreenDelay" value="3000" />
<platform name="android">
<resource-file src="google-services.json" target="app/google-services.json" />
<allow-intent href="market:*" />
<icon />
<splash />
</platform>
<platform name="ios">
<resource-file src="GoogleService-Info.plist" />
<allow-intent href="itms:*" />
<allow-intent href="itms-apps:*" />
<icon />
<splash />
</platform>
<plugin name="cordova-plugin-whitelist" spec="^1.3.3" />
<plugin name="cordova-plugin-device" spec="^2.0.2" />
<plugin name="cordova-plugin-splashscreen" spec="^5.0.2" />
<plugin name="cordova-plugin-ionic-webview" spec="^1.2.1" />
<plugin name="cordova-plugin-ionic-keyboard" spec="^2.1.2" />
<plugin name="cordova-plugin-x-socialsharing" spec="^5.4.1" />
<plugin name="cordova-plugin-qrscanner" spec="^2.6.0" />
<allow-navigation href="http://192.168.178.19:8101" />
<plugin name="cordova-plugin-firebase-dynamiclinks" spec="^1.0.0">
<variable name="APP_DOMAIN" value="example.com" />
<variable name="PAGE_LINK_DOMAIN" value="ab123.app.goo.gl" />
<variable name="FIREBASE_DYNAMIC_LINKS_VERSION" value="+" />
</plugin>
<plugin name="cordova-plugin-firebase-messaging" spec="^1.1.0">
<variable name="FIREBASE_MESSAGING_VERSION" value="17.1.+" />
<variable name="ANDROID_SUPPORT_VERSION" value="27.+" />
</plugin>
<engine name="android" spec="7.0.0" />
<engine name="ios" spec="4.5.5" />
</widget>
Because I was using only parts of the Firebase library, I didn't include Firebase Analytics, because I wasn't using it. Apparently, it's necessary for the functioning of the rest of the plugins. So installing cordova-plugin-firebase-analytics was the fix for me.
For some, it was making sure that they had the correct Firebase project settings. Go to Firebase > Cloud messaging > iOS app configuration and make sure you've uploaded a valid APNs Authentication Key or APNs Certificates.
Hope this helps other people who want to use both Firebase Messaging AND Firebase Dynamic Links!

window.open in PhoneGap app on iOS: This app is not allowed to query for scheme file

I have a hybrid app developed with DevExpress and PhoneGap.
I try to open a local jpeg image via
window.open('file:///var/mobile/Containers/Data/.../image.jpg', '_system');
but it does not work (anymore) on iPhone and iPad (latest iOS 9 version), failing with the error error: "This app is not allowed to query for scheme file".
(The app downloaded the image beforehand via the Phonegap method FileTransfer.download to the folder that it got via window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, ...) method.)
It works fine on Android, and it worked fine on iPhone as well a few weeks ago. I think it might be related to the PhoneGap update due to an update of DevExtreme.
Before, I used PhoneGap 3.7.0, now I use cli-5.2.0.
I already found this question (https://www.devexpress.com/Support/Center/Question/Details/Q486439), which is similar, but it's already 2 years old and does not seem to solve my questions.
Using GapDebug, I see this in the log:
<Warning>: THREAD WARNING: ['InAppBrowser'] took '38.211914' ms. Plugin should use a background thread.
<Warning>: THREAD WARNING: ['File'] took '26.509033' ms. Plugin should use a background thread.
<Warning>: -canOpenURL: failed for URL: "file:///var/mobile/Containers/Data/Application/9425CCB6-77F7-4337-B37C-7DB577C2F6B4/Documents/myDocuments/a96e7238-a502-49e6-bcd3-186937afc3cb/camera_1458208164206.jpg" - error: "This app is not allowed to query for scheme file"
It's some kind of permission problem, but what to add to the config.xml?
This is my config.xml:
<widget xmlns="http://www.w3.org/ns/widgets" xmlns:gap="http://phonegap.com/ns/1.0" id="com.devexpress.apptemplate" version="1.0" versionCode="1">
<name>ApplicationTemplate</name>
<preference name="phonegap-version" value="cli-5.2.0" />
<preference name="permissions" value="none" />
<preference name="prerendered-icon" value="true" />
<preference name="android-windowSoftInputMode" value="adjustResize" />
<preference name="SplashScreen" value="splash" />
<preference name="SplashScreenDelay" value="60000" />
<preference name="AutoHideSplashScreen" value="false" />
<preference name="DisallowOverscroll" value="true" />
<preference name="StatusBarOverlaysWebView" value="false" />
<preference name="StatusBarBackgroundColor" value="#000000" />
<preference name="KeyboardDisplayRequiresUserAction" value="false" />
<feature name="http://api.phonegap.com/1.0/network" />
<gap:plugin name="com.devexpress.plugins.devextremeaddon" version="1.0.1" />
<gap:plugin name="cordova-plugin-ios-longpress-fix" version="1.1.0" source="npm" />
<gap:plugin name="org.apache.cordova.camera" version="0.3.6" />
<gap:plugin name="org.apache.cordova.file" version="1.3.3" />
<gap:plugin name="org.apache.cordova.file-transfer" version="0.5.0" />
<gap:plugin name="org.apache.cordova.inappbrowser" version="0.6.0" />
<gap:plugin name="org.apache.cordova.media-capture" version="0.3.6" />
<gap:plugin name="org.apache.cordova.media" version="0.2.16" />
<gap:plugin name="org.apache.cordova.network-information" version="0.2.15" />
<gap:plugin name="cordova-plugin-statusbar" version="2.1.0" source="npm" onload="true" />
<gap:plugin name="org.apache.cordova.splashscreen" version="1.0.0" onload="true" />
<access origin="*" subdomains="true"/>
<gap:plugin name="cordova-plugin-whitelist" source="npm"/>
<allow-navigation href="*" />
<allow-intent href="*" />
</widget>
I even added the two lines
<allow-navigation href="*" />
<allow-intent href="*" />
according to https://github.com/apache/cordova-plugin-whitelist and it does not help.
I saw that Ionic, another hybrid framework, also mentions in their docs http://docs.ionic.io/docs/cordova-whitelist that there might be permission problems with newer Phonegap versions, such as the CLI versions, and that the above <allow-navigation href="*" /> should be used - however it does not seem to help in my case.
=== Update ===
I created two tickets on Phonegap's & Cordova's github:
https://github.com/phonegap/phonegap-app-developer/issues/413
https://issues.apache.org/jira/browse/CB-11027
=== Update 2 ===
As suggest below, I am now using https://github.com/pwlin/cordova-plugin-file-opener2 instead, which works fine.
On iOS 9 you have to config the urls you want to query (know if you can open them).
To do that you have to edit the info.plist and add the LSApplicationQueriesSchemeskey and an array of strings with the schemes you want to query
<key>LSApplicationQueriesSchemes</key>
<array>
<string>file</string>
<string>whatsapp</string>
<string>...</string>
</array>
As you are using cordova, you can do that in a few different ways.
You can open Xcode project inside platforms/ios and edit the info.plist file, but the Xcode project is removed and recreated in some cases, and your changes will be lost.
Another option is to create a simple cordova plugin that just writes on the info.plist. To do that you have to use the config-file tag on the plugin.xml
<config-file target="*-Info.plist" parent="LSApplicationQueriesSchemes">
<array>
<string>file</string>
</array>
</config-file>
http://cordova.apache.org/docs/en/latest/plugin_ref/spec.html#platform
Third option is to use a hook, a hook is a script file (node, bash) that is executed, and you can use it to write on the info.plist
http://cordova.apache.org/docs/en/latest/guide/appdev/hooks/index.html
I was facing the same problem... I started using cordova-plugin-file-opener2 (github.com/pwlin/cordova-plugin-file-opener2) to avoid the problem.
To solve the problem with white spaces I removed them from the targetPath:
targetPath = targetPath.replace(/ /g,'')
So my download/open code is like that:
$cordovaFileTransfer.download(url, targetPath, options, trustHosts)
.then(function(result) {
$cordovaFileOpener2.open(targetPath, mimeType)
})

iOS Status bar overlay and PhoneGap build

I'm trying to make this config work with PhoneGap build server:
<gap:plugin name="com.phonegap.plugin.statusbar" version="1.1.0" />
<preference name="StatusBarOverlaysWebView" value="false" />
<preference name="StatusBarBackgroundColor" value="#7fbfd3" />
<preference name="StatusBarStyle" value="lightcontent" />
<feature name="StatusBar">
<param name="ios-package" value="CDVStatusBar" onload="true" />
</feature>
It works fine when I use cordova build but no luck with PhoneGap build server for now. Plugin is vailable from JS, color is applied but there is no additional space for status bar. I've tried both org.apache.cordova.statusbar and com.phonegap.plugin.statusbar. Any ideas how to make it work with PhoneGap build server?
Here is rest of installed plugins and preferences set
<preference name="permissions" value="none" />
<preference name="phonegap-version" value="3.7.0" />
<preference name="orientation" value="portrait" />
<preference name="target-device" value="universal" />
<preference name="fullscreen" value="true" />
<preference name="webviewbounce" value="true" />
<preference name="prerendered-icon" value="true" />
<preference name="stay-in-webview" value="false" />
<preference name="detect-data-types" value="true" />
<preference name="exit-on-suspend" value="false" />
<preference name="show-splash-screen-spinner" value="false" />
<preference name="disable-cursor" value="false" />
<preference name="android-minSdkVersion" value="19" />
<preference name="deployment-target" value="7.0" />
<preference name="android-installLocation" value="auto" />
<preference name="webviewbounce" value="false" />
<preference name="DisallowOverscroll" value="true" />
<gap:plugin name="org.apache.cordova.console" />
<gap:plugin name="org.apache.cordova.inappbrowser" />
<gap:plugin name="com.ququplay.websocket.websocket" version="0.1.0" />
<gap:plugin name="org.apache.cordova.device" />
<gap:plugin name="com.telerik.plugins.wkwebview" />
It won't work with Hydration if you're using that; otherwise it should, but not all preferences...
I've shared a similar issue to PGB support today. Here my ticket:
The plugin cordova-plugin-statusbar not works correctly on PGB.
<gap:plugin name="cordova-plugin-statusbar" source="npm" />
Some configuration preferences are not considered on build. I've setted on config.xml following common preferences:
<preference name="StatusBarOverlaysWebView" value="false" />
<preference name="StatusBarBackgroundColor" value="#0ff000" />
<preference name="StatusBarStyle" value="default" />
I've tested on phonegap CLI, it works fine.
On PGB the iOS StatusBar overlays the webview. But if I turn off the overlays programmatically using the plugin's API, it works fine, and I can see the green StatusBar as setted on preferences,... but not the style default (dark text) also setted on preferences.
I've also tested the previous plugin source but it raises same results:
<gap:plugin name="org.apache.cordova.statusbar" source="pgb" />
I've created an App HelloWorld only for that purpose: 1493471
FYI, I've also tested the deprecated Plugin com.phonegap.plugin.statusbar, it considers the StatusBarOverlaysWebView preference but not the others...
I was dealing with the same issue and i found out that WKWebView has some bugs with position css styling. Using de the default Webview will solve your overlay problem.
However, Im still trying to find a solution that works with WKWebView.

Resources