Phonegap: iOS error after CLI upgrade to 6.5.0 - phonegap

I upgraded a working Phonegap App from CLI version 6.1.0 to 6.5.0 according to new guidelines of Adobe build cloud service as of December 1st 2018.
Since I upgraded to CLI Version 6.5.0, I am experiencing a new bug with the iOS Version of my app. Right after app start, the activity animation remains visible instead of loading the login page of the app. With version 6.1.0 the user would be exposed to the location permission pop up window, which is not showing up with CLI 6.5.0. Instead, upon clicking the home button on the iPhone, I get to see the permission pop up outside the app. Irrespective of what I choose inside the pop-up, when returning to the app, the login screen will then be fully loaded.
This is my current config.xml. I basically just changed the phone gap-version entry from „cli-6.1.0“ to „cli-6.5.0“.
<?xml version='1.0' encoding='utf-8'?>
<widget xmlns="http://www.w3.org/ns/widgets"
xmlns:gap="http://phonegap.com/ns/1.0"
xmlns:android="http://schemas.android.com/apk/res/android"
id=„foo“
version=„1.1“ versionCode="90">
<gap:config-file platform="ios" parent="CFBundleShortVersionString">
<string>1.1</string>
</gap:config-file>
<name>foo</name>
<description>
foo
</description>
<author email=„foo“ href=„foo“>
foo
</author>
<gap:platform name="ios" />
<gap:platform name="android" />
<preference name="permissions" value="none" />
<preference name="phonegap-version" value="cli-6.5.0" />
<preference name="orientation" value="portrait" />
<preference name="fullscreen" value="false" />
<preference name="target-device" value="handset" />
<preference name="webviewbounce" value="false" />
<preference name="prerendered-icon" value="true" />
<preference name="stay-in-webview" value="false" />
<preference name="ios-statusbarstyle" value="black-opaque" />
<preference name="detect-data-types" value="true" />
<preference name="exit-on-suspend" value="false" />
<preference name="show-splash-screen-spinner" value="false" />
<preference name="auto-hide-splash-screen" value="false" />
<preference name="disable-cursor" value="false" />
<preference name="android-minSdkVersion" value="15" />
<preference name="android-installLocation" value="auto" />
<preference name="EnableViewportScale" value="true" />
<preference name="KeyboardDisplayRequiresUserAction" value="false" />
<preference name="HideKeyboardFormAccessoryBar" value="false" />
<preference name="SuppressesIncrementalRendering" value="false" />
<preference name="StatusBarOverlaysWebView" value="false" />
<preference name="StatusBarBackgroundColor" value="#000000" />
<preference name="KeepRunning" value="true"/>
<gap:config-file platform="android" parent="/manifest/application">
<activity android:launchMode="singleTask" />
</gap:config-file>
<gap:config-file platform="ios" parent="UIBackgroundModes" overwrite="true">
<array>
<string>location</string>
</array>
</gap:config-file>
<gap:config-file platform="ios" parent="LSApplicationQueriesSchemes" overwrite="true">
<array>
<string>comgooglemaps</string>
<string>tomtomhome</string>
<string>navigon</string>
</array>
</gap:config-file>
<gap:config-file platform="ios" parent="NSLocationAlwaysUsageDescription">
<string>foo</string>
</gap:config-file>
<gap:config-file platform="ios" parent="NSLocationWhenInUseUsageDescription">
<string>foo</string>
</gap:config-file>
<gap:config-file platform="ios" parent="NSMotionUsageDescription">
<string>foo</string>
</gap:config-file>
<gap:config-file platform="ios" parent="NSPhotoLibraryUsageDescription">
<string>foo</string>
</gap:config-file>
<icon src="icon.png" />
<icon gap:density="ldpi" gap:platform="android" src="res/icons/android/ldpi.png" />
<icon gap:density="mdpi" gap:platform="android" src="res/icons/android/mdpi.png" />
<icon gap:density="hdpi" gap:platform="android" src="res/icons/android/hdpi.png" />
<icon gap:density="xhdpi" gap:platform="android" src="res/icons/android/xhdpi.png" />
<icon gap:platform="ios" height="40" src="res/icons/ios/icon-40.png" width="40" />
<icon gap:platform="ios" height="80" src="res/icons/ios/icon-40#2x.png" width="80" />
<icon gap:platform="ios" height="1024" src="res/icons/ios/icon.png" width="1024" />
<icon gap:platform="ios" height="57" src="res/icons/ios/icon_57_57.png" width="57" />
<icon gap:platform="ios" height="58" src="res/icons/ios/icon_58_58.png" width="58" />
<icon gap:platform="ios" height="87" src="res/icons/ios/icon_87_87.png" width="87" />
<icon gap:platform="ios" height="114" src="res/icons/ios/icon_at_2x.png" width="114" />
<icon gap:platform="ios" height="120" src="res/icons/ios/icon-40#3x.png" width="120" />
<gap:splash src="splash.png" />
<gap:splash gap:platform="android" src="res/splash/android/ldpi.png" gap:density="ldpi" />
<gap:splash gap:platform="android" src="res/splash/android/mdpi.png" gap:density="mdpi" />
<gap:splash gap:platform="android" src="res/splash/android/hdpi.png" gap:density="hdpi" />
<gap:splash gap:platform="android" src="res/splash/android/xhdpi.png" gap:density="xhdpi" />
<platform name="ios">
<splash src="res/splash/ios/Default.png" width="320" height="480" />
<splash src="res/splash/ios/Default_at_2x.png" width="640" height="960" />
<splash src="res/splash/ios/Default_iphone5.png" width="640" height="1136" />
<splash src="res/splash/ios/Default_iphone6.png" width="750" height="1334" />
<splash src="res/splash/ios/Default_iphone6_at3x.png" width="1242" height="2208" />
</platform>
<gap:splash gap:platform="ios" src="res/splash/ios/Default.png" width="320" height="480" />
<gap:splash gap:platform="ios" src="res/splash/ios/Default_at_2x.png" width="640" height="960" />
<gap:splash gap:platform="ios" src="res/splash/ios/Default_iphone5.png" width="640" height="1136" />
<gap:splash gap:platform="ios" src="res/splash/ios/Default_iphone6.png" width="750" height="1334" />
<gap:splash gap:platform="ios" src="res/splash/ios/Default_iphone6_at3x.png" width="1242" height="2208" />
<access origin="*" />
<allow-navigation href="*" />
<allow-intent href="http://*/*" />
<allow-intent href="https://*/*" />
<allow-intent href="tel:*" />
<allow-intent href="sms:*" />
<allow-intent href="mailto:*" />
<allow-intent href="geo:*" />
<platform name="android">
<allow-intent href="market:*" />
</platform>
<platform name="ios">
<allow-intent href="itms:*" />
<allow-intent href="itms-apps:*" />
</platform>
<preference name="android-build-tool" value="gradle" />
<plugin source="npm" name="cordova-plugin-camera" spec="2.2.0" />
<plugin source="npm" name="cordova-plugin-whitelist" spec="1.2.1" />
<plugin source="npm" name="cordova-plugin-device" spec="1.1.1" />
<plugin source="npm" name="cordova-plugin-file" spec="3.0.0" />
<plugin source="npm" name="cordova-plugin-file-transfer" spec="1.3.0" />
<plugin source="npm" name="cordova-plugin-network-information" spec="1.0.1" />
<plugin source="npm" name="cordova-plugin-splashscreen" spec="2.1.0" />
<plugin source="npm" name="cordova-plugin-statusbar" spec="2.1.1" />
<plugin source="npm" name="cordova-plugin-geolocation" spec="2.1.0" />
<plugin name="https://github.com/ohh2ahh/AppAvailability.git#v0.3.1" />
<plugin name="https://github.com/interFace-dk/phonegap-googlenavigate.git" />
<plugin name="https://github.com/kdileep1990/com.dileep.plugins.datepicker.git#0.0.1" />
<plugin name="https://github.com/cmackay/google-analytics-plugin.git#v1.0.2" />
<preference name="cordova-background-geolocation-license" value=„123“ />
<plugin name="background-geolocation" spec="1.7.3" source="pgb" />
<plugin name="https://github.com/katzer/cordova-plugin-app-event.git#1.2.0" />
<plugin name="https://github.com/cliqueApp/cordova-plugin-local-notifications.git#master" />
<plugin source="npm" name="phonegap-plugin-push" spec="1.7.2">
<param name="SENDER_ID" value=„123“ />
</plugin>
</widget>
I suspect, there is something wrong with the way I am calling the NSLocation with the new CLI Version.
Any other vital changes arising from the version change to 6.5.0? Any hints would be highly appreciated.

I found a solution to my problem here. Long story short, this is how I solved this issue:
- config.xml (changed the version number, I used an older one):
<plugin name="cordova-plugin-geolocation" spec="2.4.3" />
index.html (added this line):
<meta http-equiv="Content-Security-Policy" content="frame-src * gap://ready; default-src 'self' gap://ready file://* *; connect-src * blob: data:; style-src * 'unsafe-inline'; script-src * 'unsafe-eval' 'unsafe-inline'; img-src data: *" />
have fun.

Related

xcodebuild: Command failed with exit code 65 (Cordova)

I created an app based on Framework7 using cordova
But when compiling, an error occurs after the command
sudo cordova build ios
Error:
** BUILD FAILED **
The following build commands failed:
CompileStoryboard /Users/andreybal/ios_app/quiktrakpro1/platforms/ios/QuikTrak+\ Pro/CDVLaunchScreen.storyboard (in target 'QuikTrak+ Pro' from project 'QuikTrak+ Pro')
(1 failure)
xcodebuild: Command failed with exit code 65
Please tell me what could be the reason
cordova -v
11.0.0
macOS Monterey
my config.xml :
android-versionCode="66" ios-CFBundleVersion="29"
id="com.quiktrak.pro" 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"
defaultlocale="en-US" >
QuikTrak+ Pro
QuikTrak Pro GPS tracker
Sinopacific Co Limited
<allow-intent href="http://*/*" />
<allow-intent href="https://*/*" />
<allow-intent href="tel:*" />
<allow-intent href="sms:*" />
<allow-intent href="mailto:*" />
<allow-intent href="geo:*" />
<platform name="android">
<allow-intent href="market:*" />
</platform>
<platform name="ios">
<allow-intent href="itms:*" />
<allow-intent href="itms-apps:*" />
</platform>
<platform name="android">
<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="WKWebViewOnly" value="true" />
<feature name="CDVWKWebViewEngine">
<param name="ios-package" value="CDVWKWebViewEngine" />
</feature>
<preference name="CordovaWebViewEngine" value="CDVWKWebViewEngine" />
<edit-config target="ITSAppUsesNonExemptEncryption" file="*-Info.plist" mode="merge">
<false/>
</edit-config>
</platform>
<preference name="android-targetSdkVersion" value="30" />
<preference name="multiDexEnabled" value="true" />
<preference name="deployment-target" value="11" />
<preference name="StatusBarOverlaysWebView" value="false" />
<preference name="StatusBarStyle" value="blacktranslucent" />
<preference name="phonegap-version" value="cli-9.0.0" />
<!-- <preference name="Fullscreen" value="true" /> -->
<!-- <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="phonegap-plugin-push" source="npm" spec="2.3.0">
<variable name="SENDER_ID" value="1097482483564" />
</plugin>
<platform name="android">
<resource-file src="google-services.json" target="app/google-services.json" />
</platform>
<platform name="ios">
<resource-file src="GoogleService-Info.plist" />
</platform>
<plugin name="cordova-plugin-statusbar" source="npm" spec="2.1.3" />
<plugin name="cordova-plugin-device" source="npm" spec="2.0.3" />
<plugin name="cordova-plugin-buildinfo" source="npm" spec="4.0.0" />
<plugin name="cordova-plugin-dialogs" source="npm" spec="1.2.1" />
<plugin name="cordova-plugin-whitelist" source="npm" spec="1.2.1" />
<plugin name="cordova-plugin-splashscreen" source="npm" spec="5.0.2" />
<plugin name="cordova-plugin-camera" source="npm" spec="4.0.3" />
<plugin name="phonegap-plugin-mobile-accessibility" source="npm" spec="~1.0.5" />
<plugin name="cordova-launch-review" source="npm" spec="3.1.1" />
<plugin name="cordova-plugin-inappbrowser" source="npm" spec="4.0.0" />
<plugin name="cordova-plugin-wkwebview-engine" spec="~1.2.1" />
<plugin name="cordova-plugin-wkwebview-file-xhr" spec="~2.1.4"/>
<plugin name="cordova-plugin-codeplay-share-app-link" source="npm" spec="0.0.3" />
<plugin name="cordova-plugin-safariviewcontroller" source="npm" spec="1.6.0"/>
<!-- <plugin name="cordova-plugin-wkwebview-engine" source="npm" spec="1.2.1" /> -->
<!-- <plugin name="cordova-plugin-wkwebview-file-xhr" source="npm" spec="2.1.4" /> -->
<plugin name="uk.co.workingedge.phonegap.plugin.istablet" source="npm" spec="1.2.0" />
<plugin name="cordova-plugin-screen-orientation" source="npm" spec="3.0.2" />
<plugin name="uk.co.workingedge.phonegap.plugin.launchnavigator" source="npm" spec="5.0.5">
<variable name="GOOGLE_API_KEY_FOR_ANDROID" value="" />
</plugin>
<plugin name="cordova-plugin-phone-call" source="npm" spec="1.0.7" />
<plugin name="cordova-plugin-codeplay-share-app-link" source="npm" spec="0.0.3" />
<edit-config target="NSCameraUsageDescription" file="*-Info.plist" mode="merge">
<string>You can take a photo of your asset using camera and upload it into the app</string>
</edit-config>
<edit-config target="NSPhotoLibraryUsageDescription" file="*-Info.plist" mode="merge">
<string>You can select photo of your asset in your photo library and upload it into the app</string>
</edit-config>
<edit-config target="NSPhotoLibraryAddUsageDescription" file="*-Info.plist" mode="merge">
<string>Need photo library access to save pictures there</string>
</edit-config>
<platform name="android">
<icon density="ldpi" src="www/res/icon/android/drawable-ldpi-icon.png" />
<icon density="mdpi" src="www/res/icon/android/drawable-mdpi-icon.png" />
<icon density="hdpi" src="www/res/icon/android/drawable-hdpi-icon.png" />
<icon density="xhdpi" src="www/res/icon/android/drawable-xhdpi-icon.png" />
<icon density="xxhdpi" src="www/res/icon/android/drawable-xxhdpi-icon.png" />
<icon density="xxxhdpi" src="www/res/icon/android/drawable-xxxhdpi-icon.png" />
<resource-file src="www/res/icon/android/notification.png" target="app/src/main/res/drawable/notification.png" />
<splash density="port-ldpi" src="www/res/screen/android/drawable-port-ldpi-screen.png" />
<splash density="port-mdpi" src="www/res/screen/android/drawable-port-mdpi-screen.png" />
<splash density="port-hdpi" src="www/res/screen/android/drawable-port-hdpi-screen.png" />
<splash density="port-xhdpi" src="www/res/screen/android/drawable-port-xhdpi-screen.png" />
<splash density="port-xxhdpi" src="www/res/screen/android/drawable-port-xxhdpi-screen.png" />
<splash density="port-xxxhdpi" src="www/res/screen/android/drawable-port-xxxhdpi-screen.png" />
</platform>
<platform name="ios">
<icon height="57" platform="ios" src="www/res/icon/ios/icon.png" width="57" />
<icon height="114" platform="ios" src="www/res/icon/ios/icon#2x.png" width="114" />
<icon height="40" platform="ios" src="www/res/icon/ios/icon-40.png" width="40" />
<icon height="80" platform="ios" src="www/res/icon/ios/icon-40#2x.png" width="80" />
<icon height="50" platform="ios" src="www/res/icon/ios/icon-50.png" width="50" />
<icon height="100" platform="ios" src="www/res/icon/ios/icon-50#2x.png" width="100" />
<icon height="60" platform="ios" src="www/res/icon/ios/icon-60.png" width="60" />
<icon height="120" platform="ios" src="www/res/icon/ios/icon-60#2x.png" width="120" />
<icon height="180" platform="ios" src="www/res/icon/ios/icon-60#3x.png" width="180" />
<icon height="72" platform="ios" src="www/res/icon/ios/icon-72.png" width="72" />
<icon height="144" platform="ios" src="www/res/icon/ios/icon-72#2x.png" width="144" />
<icon height="76" platform="ios" src="www/res/icon/ios/icon-76.png" width="76" />
<icon height="152" platform="ios" src="www/res/icon/ios/icon-76#2x.png" width="152" />
<icon height="29" platform="ios" src="www/res/icon/ios/icon-small.png" width="29" />
<icon height="58" platform="ios" src="www/res/icon/ios/icon-small#2x.png" width="58" />
<icon height="87" platform="ios" src="www/res/icon/ios/icon-small#3x.png" width="87" />
<icon height="1024" platform="ios" src="www/res/icon/ios/icon-1024.png" width="1024" />
<splash height="1136" platform="ios" src="www/res/screen/ios/Default-568h#2x~iphone.png" width="640" />
<splash height="1334" platform="ios" src="www/res/screen/ios/Default-667h.png" width="750" />
<splash height="2208" platform="ios" src="www/res/screen/ios/Default-736h.png" width="1242" />
<splash height="2048" platform="ios" src="www/res/screen/ios/Default-Portrait#2x~ipad.png" width="1536" />
<splash height="1024" platform="ios" src="www/res/screen/ios/Default-Portrait~ipad.png" width="768" />
<splash height="960" platform="ios" src="www/res/screen/ios/Default#2x~iphone.png" width="640" />
<splash height="480" platform="ios" src="www/res/screen/ios/Default~iphone.png" width="320" />
</platform>
<splash src="splash.png" />
<icon src="icon.png" /> </widget>

Black bars when using of Cordova's splashscreen on iOS

Well I don't usually post questions on stackoverflow but I find myself stuck here.
So I am building an app with PhoneGap & Cordova. I don't this it's relevant but I'm using framework7 for the UI.
Splashscreens works great on Android devices and most iOS devices. On iPhone having a notch (iPhone X/XR/Xs/Xs Max) It seems it won't get rid of some black bar below and above the screen like here:
Cordova app not displaying correctly on iPhone X (Simulator)
I must say I have done a lot of researches and visited a bunch of different stackoverflow threads, however, I still can't get to make those disappear :(.
Here is a list of what I have tried so far:
Reboot the iOS device to clear the splashscreen cache
RESULT: no change
Add viewport-fit=cover in the meta tags
RESULT: no change
Add Legacy Splashscreens (I checked that all the image sizes are according to the width and height attribute).
RESULT: No changes. Black bars around the screen (top & bottom). The viewport looks somewhat similar to an iphone 6/7.
<splash src="res/screen/ios/320x480.png" width="320" height="480" />
<splash src="res/screen/ios/640x960.png" width="640" height="960" />
<splash src="res/screen/ios/640x1136.png" width="640" height="1136" />
<splash src="res/screen/ios/768x1024.png" width="768" height="1024" />
<splash src="res/screen/ios/1536x2008.png" width="1536" height="2008" />
<splash src="res/screen/ios/1536x2048.png" width="1536" height="2048" />
<splash src="res/screen/ios/i6.png" width="750" height="1334" />
<splash src="res/screen/ios/i6s.png" width="1242" height="2208" />
<splash src="res/screen/ios/ixr.png" width="828" height="1792" />
<splash src="res/screen/ios/ixsm.png" width="1242" height="2688" />
Add SpringBoard images (two different code tried. In each case, I verified that the images' size were according to the cordova & apple's documentation):
RESULT: worst result yet! The viewport now seems rather similar to an iPhone 4 or 5. So the screen didn't shrink, however, the screen and the keyboard looks "zoomed in" or like stretched
<splash src="res/screen/ios/Default#2x~universal~anyany.png" />
and
<splash src="res/screen/ios/Default#2x~iphone~anyany.png" />
<splash src="res/screen/ios/Default#2x~iphone~comany.png" />
<splash src="res/screen/ios/Default#2x~iphone~comcom.png" />
<splash src="res/screen/ios/Default#3x~iphone~anyany.png" />
<splash src="res/screen/ios/Default#3x~iphone~anycom.png" />
<splash src="res/screen/ios/Default#3x~iphone~comany.png" />
<splash src="res/screen/ios/Default#2x~ipad~anyany.png" />
<splash src="res/screen/ios/Default#2x~ipad~comany.png" />
If any of you have a suggestion or an idea please let me know! I've had this issue for now few weeks and I feel lost.
Extra Infos:
I build the iOS app using build.phonegap.com since I don't own a MacBook and my computer is not powerful enough for a MacOs Vm
Here is my full code:
<?xml version='1.0' encoding='utf-8'?>
<widget id="my.pkg.id" version="1.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:gap="http://phonegap.com/ns/1.0" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<name>My app name</name>
<description>
Description
</description>
<author email="emailadress#email.com" href="email.com">
My Name
</author>
<content src="index.html" />
<config-file platform="android" parent="/manifest" mode="merge">
<application android:theme="#android:style/Theme.Black.NoTitleBar"></application>
</config-file>
<plugin name="cordova-plugin-statusbar" source="npm" />
<plugin name="cordova-plugin-whitelist" source="npm" />
<plugin name="cordova-plugin-backbutton" source="npm" />
<plugin name="cordova-plugin-ios-camera-permissions" source="npm" />
<gap:plugin name="cordova-plugin-customurlscheme" source="npm">
<plugin name="cordova-plugin-device" source="npm" />
<param name="URL_SCHEME" value="myurlschm" />
</gap:plugin>
<plugin name="cordova-plugin-wkwebviewxhrfix" />
<plugin name="cordova-plugin-wkwebview-engine" />
<feature name="CDVWKWebViewEngine">
<param name="ios-package" value="CDVWKWebViewEngine" />
</feature>
<engine name="ios" spec="latest" />
<plugin name="cordova-plugin-splashscreen" source="npm" />
<plugin name="cordova-universal-links-plugin" source="npm" />
<plugin name="cordova-plugin-disable-ios11-statusbar" source="npm" spec="*" />
<plugin name="cordova-plugin-inappbrowser" source="npm" spec="*" />
<plugin name="phonegap-plugin-barcodescanner" source="npm" spec="*" />
<allow-navigation href="data:*" />
<allow-intent href="data:*" />
<access origin="data:*" />
<allow-navigation href="https://code.jquery.com/*" />
<allow-intent href="https://code.jquery.com/*" />
<access origin="https://code.jquery.com/*" />
<allow-navigation href="https://ajax.googleapis.com/*" />
<allow-intent href="https://ajax.googleapis.com/*" />
<access origin="https://ajax.googleapis.com/*" />
<allow-navigation href="https://maxcdn.bootstrapcdn.com/*" />
<allow-intent href="https://maxcdn.bootstrapcdn.com/*" />
<access origin="https://maxcdn.bootstrapcdn.com/*" />
<allow-navigation href="https://debug1.phonegap.com/*" />
<allow-intent href="https://debug1.phonegap.com/*" />
<access origin="https://debug1.phonegap.com/*" />
<allow-navigation href="https://debug2.phonegap.com/*" />
<allow-intent href="https://debug2.phonegap.com/*" />
<access origin="https://debug2.phonegap.com/*" />
<allow-navigation href="https://debug3.phonegap.com/*" />
<allow-intent href="https://debug3.phonegap.com/*" />
<access origin="https://debug3.phonegap.com/*" />
<allow-navigation href="https://debug4.phonegap.com/*" />
<allow-intent href="https://debug4.phonegap.com/*" />
<access origin="https://debug4.phonegap.com/*" />
<allow-intent href="tel:*" />
<allow-intent href="sms:*" />
<allow-intent href="mailto:*" />
<allow-intent href="geo:*" />
<allow-intent href="googlechrome:*" />
<edit-config target="NSCameraUsageDescription" file="*-Info.plist" mode="merge">
<string>need camera access to take pictures</string>
</edit-config>
<edit-config target="NSPhotoLibraryUsageDescription" file="*-Info.plist" mode="merge">
<string>need photo library access to get pictures from there</string>
</edit-config>
<edit-config target="NSLocationWhenInUseUsageDescription" file="*-Info.plist" mode="merge">
<string>need location access to find things nearby</string>
</edit-config>
<edit-config target="NSPhotoLibraryAddUsageDescription" file="*-Info.plist" mode="merge">
<string>need photo library access to save pictures there</string>
</edit-config>
<access origin="*" />
<preference name="FadeSplashScreenDuration" value="1250" />
<preference name="orientation" value="portrait" />
<preference name="SplashScreenDelay" value="3000" />
<preference name="android-minSdkVersion" value="17" />
<preference name="AndroidLaunchMode" value="singleTask" />
<platform name="android">
<edit-config file="AndroidManifest.xml" mode="merge" target="/manifest/uses-permission" xmlns:android="http://schemas.android.com/apk/res/android">
<uses-permission android:name="android.permission.CAMERA" />
</edit-config>
<allow-intent href="market:*" />
<preference name="DisallowOverscroll" value="true" />
<preference name="LoadUrlTimeoutValue" value="10000" />
<preference name="ErrorUrl" value="index.html" />
<preference name="android-minSdkVersion" value="17" />
<preference name="AndroidLaunchMode" value="singleTop" />
<preference name="android-targetSdkVersion" value="29" />
<preference name="FadeSplashScreenDuration" value="1250" />
<preference name="SplashScreenDelay" value="3000" />
<icon src="test.png" qualifier="ldpi" />
<icon src="test.png" qualifier="mdpi" />
<icon src="test.png" qualifier="hdpi" />
<icon src="test.png" qualifier="xhdpi" />
<icon src="test.png" qualifier="xxhdpi" />
<icon src="test.png" qualifier="xxxhdpi" />
<icon src="test.png" qualifier="fr-xxhdpi" />
<splash src="ldpi.png" qualifier="ldpi" />
<splash src="mdpi.png" qualifier="mdpi" />
<splash src="hdpi.png" qualifier="hdpi" />
<splash src="xhdpi.png" qualifier="xhdpi" />
<splash src="fr-xhdpi.png" qualifier="fr-xhdpi" />
<splash src="portrait-xxhdpi.png" qualifier="port-xxhdpi" />
<splash src="landscape-xxhdpi.png" qualifier="land-xxhdpi" />
<splash src="xxxhdpi.png" qualifier="xxxhdpi" />
</platform>
<platform name="ios">
<feature name="CDVWKWebViewEngine">
<param name="ios-package" value="CDVWKWebViewEngine" />
</feature>
<preference name="CordovaWebViewEngine" value="CDVWKWebViewEngine" />
<feature name="StatusBar">
<param name="ios-package" value="CDVStatusBar" onload="true" />
</feature>
<preference name="Allow3DTouchLinkPreview" value="false" />
<preference name="ShowSplashScreenSpinner" value="false" />
<preference name="EnableViewportScale" value="true" />
<preference name="DisallowOverscroll" value="true" />
<preference name="deployment-target" value="10.0" />
<preference name="StatusBarBackgroundColor" value="#000000" />
<preference name="StatusBarStyle" value="blacktranslucent" />
<allow-intent href="itms:*" />
<allow-intent href="itms-apps:*" />
<preference name="FadeSplashScreenDuration" value="750" />
<preference name="SplashScreenDelay" value="1000" />
<splash src="res/screen/ios/320x480.png" width="320" height="480" />
<splash src="res/screen/ios/640x960.png" width="640" height="960" />
<splash src="res/screen/ios/640x1136.png" width="640" height="1136" />
<splash src="res/screen/ios/768x1024.png" width="768" height="1024" />
<splash src="res/screen/ios/1536x2008.png" width="1536" height="2008" />
<splash src="res/screen/ios/1536x2048.png" width="1536" height="2048" />
<splash src="res/screen/ios/i6.png" width="750" height="1334" />
<splash src="res/screen/ios/i6s.png" width="1242" height="2208" />
<splash src="res/screen/ios/ixr.png" width="828" height="1792" />
<splash src="res/screen/ios/ixsm.png" width="1242" height="2688" />
<icon src="res/icon/ios/icon-1024.png" width="1024" height="1024" />
<icon src="res/icon/ios/icon-small.png" width="29" height="29" />
<icon src="res/icon/ios/icon-small#2x.png" width="58" height="58" />
<icon src="res/icon/ios/icon-small#3x.png" width="87" height="87" />
<icon src="res/icon/ios/icon-small-40.png" width="40" height="40" />
<icon src="res/icon/ios/icon-small-40#2x.png" width="80" height="80" />
<icon src="res/icon/ios/icon-small-40#3x.png" width="120" height="120" />
<icon src="res/icon/ios/icon-small-50.png" width="50" height="50" />
<icon src="res/icon/ios/icon-small-50#2x.png" width="100" height="100" />
<icon src="res/icon/ios/icon.png" width="57" height="57" />
<icon src="res/icon/ios/icon#2x.png" width="114" height="114" />
<icon src="res/icon/ios/icon-60.png" width="60" height="60" />
<icon src="res/icon/ios/icon-60#2x.png" width="120" height="120" />
<icon src="res/icon/ios/icon-60#3x.png" width="180" height="180" />
<icon src="res/icon/ios/icon-72.png" width="72" height="72" />
<icon src="res/icon/ios/icon-72#2x.png" width="144" height="144" />
<icon src="res/icon/ios/icon-76.png" width="76" height="76" />
<icon src="res/icon/ios/icon-76#2x.png" width="152" height="152" />
<icon src="res/icon/ios/icon-167.png" width="167" height="167" />
<icon src="res/icon/ios/icon-83.5#2x.png" width="167" height="167" />
<splash src="res/screen/ios/Default#2x~iphone~anyany.png" />
<splash src="res/screen/ios/Default#2x~iphone~comany.png" />
<splash src="res/screen/ios/Default#2x~iphone~comcom.png" />
<splash src="res/screen/ios/Default#3x~iphone~anyany.png" />
<splash src="res/screen/ios/Default#3x~iphone~anycom.png" />
<splash src="res/screen/ios/Default#3x~iphone~comany.png" />
<splash src="res/screen/ios/Default#2x~ipad~anyany.png" />
<splash src="res/screen/ios/Default#2x~ipad~comany.png" />
</platform>
<platform name="windows">
<preference name="FadeSplashScreenDuration" value="750" />
<preference name="SplashScreenDelay" value="3000" />
</platform>
</widget>
Edit:
Should I post an issue on Phonegap build or am I doing something wrong here?
I build the iOS app using build.phonegap.com since I don't own a MacBook and my computer is not powerful enough for a MacOs Vm
Surely they aren't providing the proper support for all splash screen sizes, or you haven't implemented all sizes correctly. Check their documentation on that. Whenever Xcode is updated, and this happens often, new splash screen sizes are added.
NOTICE the linked article may be outdated or it will be the second a new Xcode version with new screen sizes is released.
Example sizes:

Phonegap IOS Build no icons

I'm building an app. That refuses to display the icons. When I launch it in Gulp and run my ripple it does not display the icon. Nor does it display the icon when I upload it to the Phonagap build.
FOr my COnfig.XML I have:
<?xml version="1.0" encoding="utf-8"?>
<widget id="be.aarixa.neglectx" version="2.2.0" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0" android-versionCode="" windows-packageVersion="2.2.0.1">
<name>NeglectXMobile</name>
<description>
Neglect-X Mobile
</description>
<gap:config-file platform="ios" parent="CFBundleShortVersionString">
<string>010</string>
</gap:config-file>
<author email="you#example.com" href="http://example.com.com/">
aariXa
</author>
<content src="index.html" />
<access origin="*" />
<preference name="webviewbounce" value="false" />
<preference name="UIWebViewBounce" value="false" />
<preference name="DisallowOverscroll" value="true" />
<preference name="android-minSdkVersion" value="16" />
<preference name="BackupWebStorage" value="none" />
<feature name="StatusBar">
<param name="ios-package" onload="true" value="CDVStatusBar" />
</feature>
<preference name="KeepRunning" value="True" />
<preference name="ShowTitle" value="True" />
<preference name="InAppBrowserStorageEnabled" value="True" />
<preference name="SuppressesIncrementalRendering" value="True" />
<preference name="SplashScreen" value="screen"/>
<preference name="SplashScreenDelay" value="3000"/>
<plugin name="cordova-plugin-device" spec="~1.1.1" />
<plugin name="cordova-plugin-console" spec="~1.0.2" />
<plugin name="cordova-plugin-whitelist" spec="~1.2.1" />
<plugin name="cordova-plugin-statusbar" spec="~2.1.0" />
<plugin name="ionic-plugin-keyboard" spec="~1.0.8" />
<plugin name="cordova-plugin-file-transfer" version="1.5.1" />
<plugin name="cordova-plugin-file" version="4.1.1" />
<plugin name="cordova-plugin-media" version="2.1.0" />
<plugin name="cordova-plugin-camera" version="2.1.1" />
<plugin name="cordova-sqlite-storage" version="1.2.1"/>
<plugin name="cordova-plugin-keyboard" version="1.1.4" src="https://github.com/cjpearson/cordova-plugin-keyboard" />
<preference name="WindowsStoreDisplayName" value="NeglectXMobile" />
<vs:platformSpecificValues xmlns:vs="http://schemas.microsoft.com/appx/2014/htmlapps">
<vs:platformSpecificWidget platformName="windows" id="neglectx">
<vs:appxPackageIsForStore>False</vs:appxPackageIsForStore>
<preference name="phonegap-version" value="cli-6.1.0" />
<preference name="windows-appx-target" value="uap" />
<vs:packageOutputPath>D:\Dev\A\neglectx_mobile_2_2\NeglectX_Mobile\AppPackages\</vs:packageOutputPath>
</vs:platformSpecificWidget>
</vs:platformSpecificValues>
<plugin name="cordova-plugin-compat" version="1.0.0" />
<gap:plugin name="cordova-plugin-splashscreen" source="npm"/>
<preference name="phonegap-version" value="cli-5.2.0"/>
<!-- iPhone 6 / 6+ -->
<icon src="resources/ios/icon/icon-60#3x.png" platform="ios" width="180" height="180" />
<!-- iPhone / iPod Touch -->
<icon src="resources/ios/icon/icon-60.png" platform="ios" width="60" height="60" />
<icon src="resources/ios/icon/icon-60#2x.png" platform="ios" width="120" height="120" />
<!-- iPad -->
<icon src="resources/ios/icon/icon-76.png" platform="ios" width="76" height="76" />
<icon src="resources/ios/icon/icon-76#2x.png" platform="ios" width="152" height="152" />
<!-- Settings Icon -->
<icon src="resources/ios/icon/icon-small.png" platform="ios" width="29" height="29" />
<icon src="resources/ios/icon/icon-small#2x.png" platform="ios" width="58" height="58" />
<!-- Spotlight Icon -->
<icon src="resources/ios/icon/icon-40.png" platform="ios" width="40" height="40" />
<icon src="resources/ios/icon/icon-40#2x.png" platform="ios" width="80" height="80" />
<icon src="icon.png"/>
<gap:splash src="splash.png" />
</widget>
A view of my project resources:
I fixed it, GULP did not add the resource directory so I had to add it to the zip and then upload it to phonegap build.
To make sure: here is my latest config.xml
<?xml version="1.0" encoding="utf-8"?>
<widget id="be.aarixa.neglectx" version="2.2.0" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0" android-versionCode="" windows-packageVersion="2.2.0.1">
<name>NeglectXMobile</name>
<description>
Neglect-X Mobile
</description>
<gap:config-file platform="ios" parent="CFBundleShortVersionString">
<string>010</string>
</gap:config-file>
<author email="you#example.com" href="http://example.com.com/">
aariXa
</author>
<content src="index.html" />
<access origin="*" />
<preference name="webviewbounce" value="false" />
<preference name="UIWebViewBounce" value="false" />
<preference name="DisallowOverscroll" value="true" />
<preference name="android-minSdkVersion" value="16" />
<preference name="BackupWebStorage" value="none" />
<feature name="StatusBar">
<param name="ios-package" onload="true" value="CDVStatusBar" />
</feature>
<preference name="KeepRunning" value="True" />
<preference name="ShowTitle" value="True" />
<preference name="InAppBrowserStorageEnabled" value="True" />
<preference name="SuppressesIncrementalRendering" value="True" />
<preference name="SplashScreen" value="screen"/>
<preference name="SplashScreenDelay" value="3000"/>
<plugin name="cordova-plugin-device" spec="~1.1.1" />
<plugin name="cordova-plugin-console" spec="~1.0.2" />
<plugin name="cordova-plugin-whitelist" spec="~1.2.1" />
<plugin name="cordova-plugin-statusbar" spec="~2.1.0" />
<plugin name="ionic-plugin-keyboard" spec="~1.0.8" />
<plugin name="cordova-plugin-file-transfer" version="1.5.1" />
<plugin name="cordova-plugin-file" version="4.1.1" />
<plugin name="cordova-plugin-media" version="2.1.0" />
<plugin name="cordova-plugin-camera" version="2.1.1" />
<plugin name="cordova-sqlite-storage" version="1.2.1"/>
<plugin name="cordova-plugin-keyboard" version="1.1.4" src="https://github.com/cjpearson/cordova-plugin-keyboard" />
<preference name="WindowsStoreDisplayName" value="NeglectXMobile" />
<vs:platformSpecificValues xmlns:vs="http://schemas.microsoft.com/appx/2014/htmlapps">
<vs:platformSpecificWidget platformName="windows" id="neglectx">
<vs:appxPackageIsForStore>False</vs:appxPackageIsForStore>
<preference name="phonegap-version" value="cli-6.1.0" />
<preference name="windows-appx-target" value="uap" />
<vs:packageOutputPath>D:\Dev\A\neglectx_mobile_2_2\NeglectX_Mobile\AppPackages\</vs:packageOutputPath>
</vs:platformSpecificWidget>
</vs:platformSpecificValues>
<plugin name="cordova-plugin-compat" version="1.0.0" />
<gap:plugin name="cordova-plugin-splashscreen" source="npm"/>
<preference name="phonegap-version" value="cli-5.2.0"/>
<icon src="resources/icon.png"/>
<!-- iPhone 6 / 6+ -->
<icon src="resources/ios/icon/icon-60#3x.png" platform="ios" width="180" height="180" />
<!-- iPhone / iPod Touch -->
<icon src="resources/ios/icon/icon-60.png" platform="ios" width="60" height="60" />
<icon src="resources/ios/icon/icon-60#2x.png" platform="ios" width="120" height="120" />
<!-- iPad -->
<icon src="resources/ios/icon/icon-76.png" platform="ios" width="76" height="76" />
<icon src="resources/ios/icon/icon-76#2x.png" platform="ios" width="152" height="152" />
<!-- Settings Icon -->
<icon src="resources/ios/icon/icon-small.png" platform="ios" width="29" height="29" />
<icon src="resources/ios/icon/icon-small#2x.png" platform="ios" width="58" height="58" />
<!-- Spotlight Icon -->
<icon src="resources/ios/icon/icon-40.png" platform="ios" width="40" height="40" />
<icon src="resources/ios/icon/icon-40#2x.png" platform="ios" width="80" height="80" />
</widget>

iPhone 6 splash screen resized after few second

The splash screen appear normal (fit) at first and then after 2 seconds or so it resized / stretched onto right side off the screen
I'm developing iOS app using phonegap only (no xCode)
the iPhone 6 I use for testing is using iOS 9.2.1
here's config.xml :
<widget xmlns="http://www.w3.org/ns/widgets" xmlns:gap="http://phonegap.com/ns/1.0" id="com.polri.polisiku" version="1.0.0">
<name>PolisiKu</name>
<description>PolisiKu adalah aplikasi pencari pos polisi terdekat dari posisi user.</description>
<author href="http://polri.go.id" email="mabes#polri.go.id">Divti Polri</author>
<content src="index.html"/>
<preference name="permissions" value="none"/>
<preference name="orientation" value="portrait"/>
<preference name="target-device" value="handset"/>
<preference name="fullscreen" value="true"/>
<preference name="webviewbounce" value="false"/>
<preference name="prerendered-icon" value="true"/>
<preference name="stay-in-webview" value="false"/>
<preference name="StatusBarOverlaysWebView" value="true" />
<preference name="StatusBarStyle" value="lightcontent" />
<preference name="detect-data-types" value="true"/>
<preference name="exit-on-suspend" value="false"/>
<preference name="show-splash-screen-spinner" value="true"/>
<preference name="auto-hide-splash-screen" value="true"/>
<preference name="disable-cursor" value="false"/>
<preference name="android-minSdkVersion" value="14"/>
<preference name="android-installLocation" value="auto"/>
<plugin name="cordova-plugin-whitelist" spec="1.2.1" />
<plugin name="org.apache.cordova.battery-status" source="pgb" spec="0.2.12" />
<plugin name="org.apache.cordova.camera" source="pgb" spec="0.3.6" />
<plugin name="org.apache.cordova.console" source="pgb" spec="0.2.13" />
<plugin name="org.apache.cordova.contacts" source="pgb" spec="0.2.16" />
<plugin name="org.apache.cordova.device" source="pgb" spec="0.3.0" />
<plugin name="org.apache.cordova.device-motion" source="pgb" spec="0.2.11" />
<plugin name="org.apache.cordova.device-orientation" source="pgb" spec="0.3.11" />
<plugin name="org.apache.cordova.dialogs" source="pgb" spec="0.3.0" />
<plugin name="org.apache.cordova.file" source="pgb" spec="1.3.3" />
<plugin name="org.apache.cordova.file-transfer" source="pgb" spec="0.5.0" />
<plugin name="org.apache.cordova.geolocation" source="pgb" spec="0.3.12" />
<plugin name="org.apache.cordova.globalization" source="pgb" spec="0.3.4" />
<plugin name="org.apache.cordova.inappbrowser" source="pgb" spec="0.6.0" />
<plugin name="org.apache.cordova.media" source="pgb" spec="0.2.16" />
<plugin name="org.apache.cordova.media-capture" source="pgb" spec="0.3.6" />
<plugin name="org.apache.cordova.network-information" source="pgb" spec="0.2.15" />
<plugin name="org.apache.cordova.splashscreen" source="pgb" spec="1.0.0" />
<plugin name="org.apache.cordova.statusbar" source="pgb" spec="0.1.4" />
<plugin name="org.apache.cordova.vibration" source="pgb" spec="0.3.13" />
<icon src="icon.png" />
<splash src="splash.png" />
<icon src="res/icon/ios/icon-57.png" gap:platform="ios" width="57" height="57"/>
<icon src="res/icon/ios/icon-72.png" gap:platform="ios" width="72" height="72"/>
<icon src="res/icon/ios/icon-57-2x.png" gap:platform="ios" width="114" height="114"/>
<icon src="res/icon/ios/icon-72-2x.png" gap:platform="ios" width="144" height="144"/>
<splash src="res/screen/ios/screen-iphone-portrait.png" platform="ios" width="320" height="480" />
<splash src="res/screen/ios/screen-iphone-landscape.png" platform="ios" width="480" height="320" />
<splash src="res/screen/ios/screen-iphone-portrait-2x.png" platform="ios" width="640" height="960" />
<splash src="res/screen/ios/screen-iphone-landscape-2x.png" platform="ios" width="960" height="640" />
<!-- iPhone 5 / iPod Touch (5th Generation) -->
<splash src="res/screen/ios/screen-iphone-portrait-568h-2x.png" platform="ios" width="640" height="1136" />
<splash src="res/screen/ios/screen-iphone-landscape-568h-2x.png" platform="ios" width="1136" height="640" />
<!-- iPhone 6 -->
<splash src="res/screen/ios/Default-667h#2x~iphone.png" platform="ios" width="750" height="1334" />
<splash src="res/screen/ios/Default-Landscape-667h#2x~iphone.png" platform="ios" width="1334" height="750" />
<splash src="res/screen/ios/Default-736h#3x~iphone.png" platform="ios" width="1242" height="2208" />
<splash src="res/screen/ios/Default-Landscape-736h#3x~iphone.png" platform="ios" width="2208" height="1242" />
<!-- iPad -->
<splash src="res/screen/ios/screen-ipad-portrait.png" platform="ios" width="768" height="1024" />
<splash src="res/screen/ios/screen-ipad-landscape.png" platform="ios" width="1024" height="768" />
<!-- Retina iPad -->
<splash src="res/screen/ios/screen-ipad-portrait-2x.png" platform="ios" width="1536" height="2048" />
<splash src="res/screen/ios/screen-ipad-landscape-2x.png" platform="ios" width="2048" height="1536" />
<access origin="*"/>
<plugin name="cordova-plugin-whitelist" version="1"/>
<allow-intent href="http://*/*"/>
<allow-intent href="https://*/*"/>
<allow-intent href="tel:*"/>
<allow-intent href="sms:*"/>
<allow-intent href="mailto:*"/>
<allow-intent href="geo:*"/>
<platform name="android">
<allow-intent href="market:*"/>
</platform>
<platform name="ios">
<allow-intent href="itms:*"/>
<allow-intent href="itms-apps:*"/>
</platform>
</widget>
the question is similar with PhoneGap and iPhone 6 Plus splash screen issue but i've tried all answer and nothing work, and they haven't marked an accepted answer.
thanks in advance and sorry for bad english
The splash screen is not resizing, it moves down because of the statusbar.
So, if you have enabled the statusbar the images have to be 20px shorter and for #2x 40px.
You are using the latest plugin on pgb (1.0.0), but that is too old ang pgb plugins are deprecated, you have to install latest version of the plugin from NPM (3.2.1)
Change
<plugin name="org.apache.cordova.splashscreen" source="pgb" spec="1.0.0" />
to
<plugin name="cordova-plugin-splashscreen"/>

Cordova/Phonegap / iOS: ERROR: Plugin 'Plugin01' not found, or is not a CDVPlugin. Check your plugin mapping in config.xml

After I upgraded to Phonegap 5 I can't create a working plugin for old or new projects.
There are many such questions but most relate to version 3 that worked fine for me. Can't find good docs related to version 5.
I created I new test project, like that and still I can't make it working.
phonegap create test01 com.example.test01 Test01
phonegap platform add ios
phonegap plugin add ../test01-plugin01/
phonegap build ios
plugin.xml
<?xml version="1.0" encoding="UTF-8"?>
<plugin xmlns="http://www.phonegap.com/ns/plugins/1.0"
id="com.example.plugin01"
version="1.0.0">
<name>Plugin01</name>
<!-- ios -->
<platform name="ios">
<header-file src="src/ios/Plugin01.h" />
<source-file src="src/ios/Plugin01.m" />
</platform>
</plugin>
Plugin01.h
#import <Foundation/Foundation.h>
#import <Cordova/CDVPlugin.h>
#interface Plugin01 : CDVPlugin {
NSString* callbackID;
}
#property (nonatomic, copy) NSString* callbackID;
- (void)test:(CDVInvokedUrlCommand*)command;
#end
config.xml
<?xml version='1.0' encoding='utf-8'?>
<widget id="com.example.test01" version="1.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:gap="http://phonegap.com/ns/1.0">
<name>Test01</name>
<description>
Hello World sample application that responds to the deviceready event.
</description>
<author email="support#phonegap.com" href="http://phonegap.com">
PhoneGap Team
</author>
<content src="index.html" />
<preference name="permissions" value="none" />
<preference name="orientation" value="default" />
<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="ios-statusbarstyle" value="black-opaque" />
<preference name="detect-data-types" value="true" />
<preference name="exit-on-suspend" value="false" />
<preference name="show-splash-screen-spinner" value="true" />
<preference name="auto-hide-splash-screen" value="true" />
<preference name="disable-cursor" value="false" />
<preference name="android-minSdkVersion" value="7" />
<preference name="android-installLocation" value="auto" />
<gap:plugin name="org.apache.cordova.battery-status" />
<gap:plugin name="org.apache.cordova.camera" />
<gap:plugin name="org.apache.cordova.media-capture" />
<gap:plugin name="org.apache.cordova.console" />
<gap:plugin name="org.apache.cordova.contacts" />
<gap:plugin name="org.apache.cordova.device" />
<gap:plugin name="org.apache.cordova.device-motion" />
<gap:plugin name="org.apache.cordova.device-orientation" />
<gap:plugin name="org.apache.cordova.dialogs" />
<gap:plugin name="org.apache.cordova.file" />
<gap:plugin name="org.apache.cordova.file-transfer" />
<gap:plugin name="org.apache.cordova.geolocation" />
<gap:plugin name="org.apache.cordova.globalization" />
<gap:plugin name="org.apache.cordova.inappbrowser" />
<gap:plugin name="org.apache.cordova.media" />
<gap:plugin name="org.apache.cordova.network-information" />
<gap:plugin name="org.apache.cordova.splashscreen" />
<gap:plugin name="org.apache.cordova.vibration" />
<gap:plugin name="com.example.plugin01" />
<icon src="icon.png" />
<icon gap:platform="android" gap:qualifier="ldpi" src="www/res/icon/android/icon-36-ldpi.png" />
<icon gap:platform="android" gap:qualifier="mdpi" src="www/res/icon/android/icon-48-mdpi.png" />
<icon gap:platform="android" gap:qualifier="hdpi" src="www/res/icon/android/icon-72-hdpi.png" />
<icon gap:platform="android" gap:qualifier="xhdpi" src="www/res/icon/android/icon-96-xhdpi.png" />
<icon gap:platform="blackberry" src="www/res/icon/blackberry/icon-80.png" />
<icon gap:platform="blackberry" gap:state="hover" src="www/res/icon/blackberry/icon-80.png" />
<icon gap:platform="ios" height="57" src="www/res/icon/ios/icon-57.png" width="57" />
<icon gap:platform="ios" height="72" src="www/res/icon/ios/icon-72.png" width="72" />
<icon gap:platform="ios" height="114" src="www/res/icon/ios/icon-57-2x.png" width="114" />
<icon gap:platform="ios" height="144" src="www/res/icon/ios/icon-72-2x.png" width="144" />
<icon gap:platform="webos" src="www/res/icon/webos/icon-64.png" />
<icon gap:platform="winphone" src="www/res/icon/windows-phone/icon-48.png" />
<icon gap:platform="winphone" gap:role="background" src="www/res/icon/windows-phone/icon-173-tile.png" />
<gap:splash gap:platform="android" gap:qualifier="port-ldpi" src="www/res/screen/android/screen-ldpi-portrait.png" />
<gap:splash gap:platform="android" gap:qualifier="port-mdpi" src="www/res/screen/android/screen-mdpi-portrait.png" />
<gap:splash gap:platform="android" gap:qualifier="port-hdpi" src="www/res/screen/android/screen-hdpi-portrait.png" />
<gap:splash gap:platform="android" gap:qualifier="port-xhdpi" src="www/res/screen/android/screen-xhdpi-portrait.png" />
<gap:splash gap:platform="blackberry" src="www/res/screen/blackberry/screen-225.png" />
<gap:splash gap:platform="ios" height="480" src="www/res/screen/ios/screen-iphone-portrait.png" width="320" />
<gap:splash gap:platform="ios" height="960" src="www/res/screen/ios/screen-iphone-portrait-2x.png" width="640" />
<gap:splash gap:platform="ios" height="1136" src="www/res/screen/ios/screen-iphone-portrait-568h-2x.png" width="640" />
<gap:splash gap:platform="ios" height="1024" src="www/res/screen/ios/screen-ipad-portrait.png" width="768" />
<gap:splash gap:platform="ios" height="768" src="www/res/screen/ios/screen-ipad-landscape.png" width="1024" />
<gap:splash gap:platform="winphone" src="www/res/screen/windows-phone/screen-portrait.jpg" />
<access origin="*" />
<plugin name="cordova-plugin-whitelist" version="1" />
<plugin name="com.example.plugin01" />
<allow-intent href="http://*/*" />
<allow-intent href="https://*/*" />
<allow-intent href="tel:*" />
<allow-intent href="sms:*" />
<allow-intent href="mailto:*" />
<allow-intent href="geo:*" />
<platform name="android">
<allow-intent href="market:*" />
</platform>
<platform name="ios">
<allow-intent href="itms:*" />
<allow-intent href="itms-apps:*" />
</platform>
</widget>
index.html
<button onclick="test01();">Test</button>
</div>
</div>
<script type="text/javascript" src="cordova.js"></script>
<script type="text/javascript" src="js/index.js"></script>
<script type="text/javascript">
app.initialize();
function test01(){
cordova.exec(null, null, 'Plugin01', 'test', []);
}
</script>
I can see Plugin01.h and Plugin01.m in Xcode when I open project in Plugin folder. I can run app on iPhone.
When I touch "test" button then I get following error:
2015-07-20 12:00:29.108 Test01[1925:1174928] ERROR: Plugin 'Plugin01' not found, or is not a CDVPlugin. Check your plugin mapping in config.xml.
2015-07-20 12:00:29.109 Test01[1925:1174928] -[CDVCommandQueue executePending] [Line 159] FAILED pluginJSON = ["INVALID","Plugin01","test",[]]
I can't execute my native code from WebView
You have to add the feature tag inside a config-file tag in the plugin.xml so it's added to the config.xml
<name>Plugin01</name>
<!-- ios -->
<platform name="ios">
<config-file target="config.xml" parent="/*">
<feature name="Plugin01">
<param name="ios-package" value="Plugin01"/>
</feature>
</config-file>
<header-file src="src/ios/Plugin01.h" />
<source-file src="src/ios/Plugin01.m" />
</platform>

Resources