iOS deployment issue of Ionic 3 app - ios

I developed an application using Ionic 3.20.0 and I tried to release that in both play store and App Store. In play store, it is published and working fine for the users. On the other hand, in iOS, we installed and tried in our local devices and we could able to get the output. But when I upload in the App Store, they are rejecting the app by sending the below response
Guideline 2.1 - Performance - App Completeness
We discovered one or more bugs in your app when reviewed on iPhone and iPad running iOS 11.4.1 on Wi-Fi connected to an IPv6 network. After launch, app shows blank white page without functionality.
Next Steps
To resolve this issue, please run your app on a device to identify any issues, then revise and resubmit your app for review. Please plan a resolution asap and resolve.
I've no clue on where I did mistake. Will this be build issue or network issue?
I'll share my config.xml also for reference.
<?xml version='1.0' encoding='utf-8'?>
<widget id="com.sample.app" version="1.0.2" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<name>XYZ</name>
<description>XYZ</description>
<author email="aa#aa.com" href="http://ionicframework.com/">Developer </author>
<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="StatusBarOverlaysWebView" value="true" />
<preference name="android-minSdkVersion" value="19" />
<preference name="StatusBarBackgroundColor" value="#000000" />
<preference name="StatusBarStyle" value="lightcontent" />
<preference name="ScrollEnabled" value="false" />
<preference name="windows-target-version" value="10.0" />
<preference name="BackupWebStorage" value="none" />
<preference name="SplashMaintainAspectRatio" value="true" />
<preference name="AutoHideSplashScreen" value="false" />
<preference name="FadeSplashScreen" value="true" />
<preference name="FadeSplashScreenDuration" value="2000" />
<preference name="FadeSplashScreen" value="true" />
<preference name="webviewbounce" value="false" />
<preference name="UIWebViewBounce" value="false" />
<preference name="SplashShowOnlyFirstTime" value="true" />
<preference name="orientation" value="portrait" />
<preference name="ShowSplashScreenSpinner" value="false" />
<preference name="CordovaWebViewEngine" value="CDVWKWebViewEngine" />
<preference name="ShowSplashScreen" value="true" />
<preference name="SplashScreen" value="screen" />
<preference name="SplashScreenDelay" value="5000" />
<platform name="android">
<allow-intent href="market:*" />
<preference name="loadUrlTimeoutValue" value="1200000" />
<icon density="ldpi" src="resources/android/icon/drawable-ldpi-icon.png" />
<icon density="mdpi" src="resources/android/icon/drawable-mdpi-icon.png" />
<icon density="hdpi" src="resources/android/icon/drawable-hdpi-icon.png" />
<icon density="xhdpi" src="resources/android/icon/drawable-xhdpi-icon.png" />
<icon density="xxhdpi" src="resources/android/icon/drawable-xxhdpi-icon.png" />
<icon density="xxxhdpi" src="resources/android/icon/drawable-xxxhdpi-icon.png" />
<splash density="land-ldpi" src="resources/android/splash/drawable-land-ldpi-screen.png" />
<splash density="land-mdpi" src="resources/android/splash/drawable-land-mdpi-screen.png" />
<splash density="land-hdpi" src="resources/android/splash/drawable-land-hdpi-screen.png" />
<splash density="land-xhdpi" src="resources/android/splash/drawable-land-xhdpi-screen.png" />
<splash density="land-xxhdpi" src="resources/android/splash/drawable-land-xxhdpi-screen.png" />
<splash density="land-xxxhdpi" src="resources/android/splash/drawable-land-xxxhdpi-screen.png" />
<splash density="port-ldpi" src="resources/android/splash/drawable-port-ldpi-screen.png" />
<splash density="port-mdpi" src="resources/android/splash/drawable-port-mdpi-screen.png" />
<splash density="port-hdpi" src="resources/android/splash/drawable-port-hdpi-screen.png" />
<splash density="port-xhdpi" src="resources/android/splash/drawable-port-xhdpi-screen.png" />
<splash density="port-xxhdpi" src="resources/android/splash/drawable-port-xxhdpi-screen.png" />
<splash density="port-xxxhdpi" src="resources/android/splash/drawable-port-xxxhdpi-screen.png" />
</platform>
<platform name="ios">
<allow-intent href="itms:*" />
<allow-intent href="itms-apps:*" />
<icon height="57" src="resources/ios/icon/icon.png" width="57" />
<icon height="114" src="resources/ios/icon/icon#2x.png" width="114" />
<icon height="40" src="resources/ios/icon/icon-40.png" width="40" />
<icon height="80" src="resources/ios/icon/icon-40#2x.png" width="80" />
<icon height="120" src="resources/ios/icon/icon-40#3x.png" width="120" />
<icon height="50" src="resources/ios/icon/icon-50.png" width="50" />
<icon height="100" src="resources/ios/icon/icon-50#2x.png" width="100" />
<icon height="60" src="resources/ios/icon/icon-60.png" width="60" />
<icon height="120" src="resources/ios/icon/icon-60#2x.png" width="120" />
<icon height="180" src="resources/ios/icon/icon-60#3x.png" width="180" />
<icon height="72" src="resources/ios/icon/icon-72.png" width="72" />
<icon height="144" src="resources/ios/icon/icon-72#2x.png" width="144" />
<icon height="76" src="resources/ios/icon/icon-76.png" width="76" />
<icon height="152" src="resources/ios/icon/icon-76#2x.png" width="152" />
<icon height="167" src="resources/ios/icon/icon-83.5#2x.png" width="167" />
<icon height="29" src="resources/ios/icon/icon-small.png" width="29" />
<icon height="58" src="resources/ios/icon/icon-small#2x.png" width="58" />
<icon height="87" src="resources/ios/icon/icon-small#3x.png" width="87" />
<icon height="1024" src="resources/ios/icon/icon-1024.png" width="1024" />
<splash height="1136" src="resources/ios/splash/Default-568h#2x~iphone.png" width="640" />
<splash height="1334" src="resources/ios/splash/Default-667h.png" width="750" />
<splash height="2208" src="resources/ios/splash/Default-736h.png" width="1242" />
<splash height="1242" src="resources/ios/splash/Default-Landscape-736h.png" width="2208" />
<splash height="1536" src="resources/ios/splash/Default-Landscape#2x~ipad.png" width="2048" />
<splash height="2048" src="resources/ios/splash/Default-Landscape#~ipadpro.png" width="2732" />
<splash height="768" src="resources/ios/splash/Default-Landscape~ipad.png" width="1024" />
<splash height="2048" src="resources/ios/splash/Default-Portrait#2x~ipad.png" width="1536" />
<splash height="2732" src="resources/ios/splash/Default-Portrait#~ipadpro.png" width="2048" />
<splash height="1024" src="resources/ios/splash/Default-Portrait~ipad.png" width="768" />
<splash height="960" src="resources/ios/splash/Default#2x~iphone.png" width="640" />
<splash height="480" src="resources/ios/splash/Default~iphone.png" width="320" />
<splash height="2732" src="resources/ios/splash/Default#2x~universal~anyany.png" width="2732" />
</platform>
<allow-navigation href="http://10.0.0.27:8100" />
<allow-navigation href="http://192.168.60.29:8100" />
<allow-navigation href="http://192.168.60.57:8100" />
<allow-navigation href="http://192.168.137.1:8100" />
<allow-navigation href="http://192.168.70.104:8100" />
<engine name="windows" spec="5.0.0" />
<engine name="android" spec="6.4.0" />
<engine name="ios" spec="~4.5.5" />
<plugin name="ionic-plugin-keyboard" spec="^2.2.1" />
<plugin name="cordova-plugin-whitelist" spec="^1.3.1" />
<plugin name="cordova-plugin-device" spec="^1.1.4" />
<plugin name="cordova-plugin-splashscreen" spec="^4.0.3" />
<plugin name="cordova-plugin-ionic-webview" spec="^1.1.16" />
<plugin name="phonegap-plugin-barcodescanner" spec="^7.0.0" />
<plugin name="cordova-plugin-otp-auto-verification" spec="^1.0.0" />
<plugin name="cordova-plugin-app-version" spec="^0.1.9" />
<plugin name="cordova-plugin-statusbar" spec="^2.3.0" />
<plugin name="cordova-plugin-google-analytics" spec="^1.8.3" />
<plugin name="cordova-plugin-sms" spec="^1.0.5" />
<plugin name="cordova-plugin-android-permissions" spec="^1.0.0" />
<plugin name="cordova-plugin-apprate" spec="~1.3.0" />
</widget>

First run your application in your real device from Xcode open device console and there you might have some issue fix it. If your app is in under review run your application using testFlight. You can find your problem yourself. I also faced that same issue i found my problem through testFlight App.

Related

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:

Ionic 4 form input is stuck when typing using keyboard in iOS device

I'm really struggling to figure out the root cause why my 'form input' are stuck when I'm typing using the hardware keyboard in iOS device.
What I have done so far:
Reinstalling the Cordova keyboard plugin, using the latest
Reinstalling the WKWebView, using the latest
Recreate new project, copy old code to the newest project and try to run it on a device, unfortunately, the error keeps showing up
So what I figured out is the problem is not from the src files, because the old days I tried to run in the iOS device it was successfully
This link video showing up how the error come:
https://streamable.com/sgi8u
Xcode Log:
2020-01-28 18:23:59.208024+0800 apps[18863:356008] API error: <_UIKBCompatInputView: 0x7fb74342a070; frame = (0 0; 0 0); layer = <CALayer: 0x6000020b48a0>> returned 0 width, assuming UIViewNoIntrinsicMetric
2020-01-28 18:23:59.208179+0800 apps[18863:356008] API error: <_UIKBCompatInputView: 0x7fb74342a070; frame = (0 0; 0 0); layer = <CALayer: 0x6000020b48a0>> returned 0 width, assuming UIViewNoIntrinsicMetric
2020-01-28 18:23:59.691556+0800 apps[18863:356008] CDVIonicKeyboard: updating frame
Config XML:
<?xml version='1.0' encoding='utf-8'?>
<widget id="com.info.apps" version="3.2" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<name>Ionic Apps</name>
<description>Ionic App</description>
<author email="ionic#ionic.com" href="http://ionicframework.com/">Apps</author>
<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="AutoHideSplashScreen" value="false" />
<preference name="SplashScreenDelay" value="10000" />
<preference name="FadeSplashScreenDuration" value="1000" />
<preference name="SplashScreen" value="screen" />
<preference name="ShowSplashScreen" value="true" />
<preference name="ShowSplashScreenSpinner" value="false" />
<preference name="SplashShowOnlyFirstTime" value="false" />
<preference name="FadeSplashScreen" value="true" />
<preference name="android-minSdkVersion" value="19" />
<preference name="android-targetSdkVersion" value="28" />
<preference name="BackupWebStorage" value="none" />
<preference name="SplashMaintainAspectRatio" value="true" />
<platform name="android">
<allow-intent href="market:*" />
<icon density="ldpi" src="resources/android/icon/drawable-ldpi-icon.png" />
<icon density="mdpi" src="resources/android/icon/drawable-mdpi-icon.png" />
<icon density="hdpi" src="resources/android/icon/drawable-hdpi-icon.png" />
<icon density="xhdpi" src="resources/android/icon/drawable-xhdpi-icon.png" />
<icon density="xxhdpi" src="resources/android/icon/drawable-xxhdpi-icon.png" />
<icon density="xxxhdpi" src="resources/android/icon/drawable-xxxhdpi-icon.png" />
<splash density="land-ldpi" src="resources/android/splash/drawable-land-ldpi-screen.png" />
<splash density="land-mdpi" src="resources/android/splash/drawable-land-mdpi-screen.png" />
<splash density="land-hdpi" src="resources/android/splash/drawable-land-hdpi-screen.png" />
<splash density="land-xhdpi" src="resources/android/splash/drawable-land-xhdpi-screen.png" />
<splash density="land-xxhdpi" src="resources/android/splash/drawable-land-xxhdpi-screen.png" />
<splash density="land-xxxhdpi" src="resources/android/splash/drawable-land-xxxhdpi-screen.png" />
<splash density="port-ldpi" src="resources/android/splash/drawable-port-ldpi-screen.png" />
<splash density="port-mdpi" src="resources/android/splash/drawable-port-mdpi-screen.png" />
<splash density="port-hdpi" src="resources/android/splash/drawable-port-hdpi-screen.png" />
<splash density="port-xhdpi" src="resources/android/splash/drawable-port-xhdpi-screen.png" />
<splash density="port-xxhdpi" src="resources/android/splash/drawable-port-xxhdpi-screen.png" />
<splash density="port-xxxhdpi" src="resources/android/splash/drawable-port-xxxhdpi-screen.png" />
</platform>
<platform name="ios">
<allow-intent href="itms:*" />
<allow-intent href="itms-apps:*" />
<edit-config file="*-Info.plist" mode="merge" target="NSCameraUsageDescription">
<string>This apps wants to access your camera</string>
</edit-config>
<icon height="57" src="resources/ios/icon/icon.png" width="57" />
<icon height="114" src="resources/ios/icon/icon#2x.png" width="114" />
<icon height="29" src="resources/ios/icon/icon-small.png" width="29" />
<icon height="58" src="resources/ios/icon/icon-small#2x.png" width="58" />
<icon height="87" src="resources/ios/icon/icon-small#3x.png" width="87" />
<icon height="40" src="resources/ios/icon/icon-40.png" width="40" />
<icon height="80" src="resources/ios/icon/icon-40#2x.png" width="80" />
<icon height="120" src="resources/ios/icon/icon-40#3x.png" width="120" />
<icon height="50" src="resources/ios/icon/icon-50.png" width="50" />
<icon height="100" src="resources/ios/icon/icon-50#2x.png" width="100" />
<icon height="60" src="resources/ios/icon/icon-60.png" width="60" />
<icon height="120" src="resources/ios/icon/icon-60#2x.png" width="120" />
<icon height="180" src="resources/ios/icon/icon-60#3x.png" width="180" />
<icon height="72" src="resources/ios/icon/icon-72.png" width="72" />
<icon height="144" src="resources/ios/icon/icon-72#2x.png" width="144" />
<icon height="76" src="resources/ios/icon/icon-76.png" width="76" />
<icon height="152" src="resources/ios/icon/icon-76#2x.png" width="152" />
<icon height="167" src="resources/ios/icon/icon-83.5#2x.png" width="167" />
<icon height="1024" src="resources/ios/icon/icon-1024.png" width="1024" />
<splash height="480" src="resources/ios/splash/Default~iphone.png" width="320" />
<splash height="960" src="resources/ios/splash/Default#2x~iphone.png" width="640" />
<splash height="1024" src="resources/ios/splash/Default-Portrait~ipad.png" width="768" />
<splash height="768" src="resources/ios/splash/Default-Landscape~ipad.png" width="1024" />
<splash height="1242" src="resources/ios/splash/Default-Landscape-736h.png" width="2208" />
<splash height="2048" src="resources/ios/splash/Default-Portrait#2x~ipad.png" width="1536" />
<splash height="1536" src="resources/ios/splash/Default-Landscape#2x~ipad.png" width="2048" />
<splash height="2732" src="resources/ios/splash/Default-Portrait#~ipadpro.png" width="2048" />
<splash height="2048" src="resources/ios/splash/Default-Landscape#~ipadpro.png" width="2732" />
<splash height="1136" src="resources/ios/splash/Default-568h#2x~iphone.png" width="640" />
<splash height="1334" src="resources/ios/splash/Default-667h.png" width="750" />
<splash height="2208" src="resources/ios/splash/Default-736h.png" width="1242" />
<splash height="2732" src="resources/ios/splash/Default#2x~universal~anyany.png" width="2732" />
<icon height="20" src="resources/ios/icon/icon-20.png" width="20" />
<icon height="40" src="resources/ios/icon/icon-20#2x.png" width="40" />
<icon height="60" src="resources/ios/icon/icon-20#3x.png" width="60" />
<icon height="29" src="resources/ios/icon/icon-29.png" width="29" />
<icon height="58" src="resources/ios/icon/icon-29#2x.png" width="58" />
<icon height="87" src="resources/ios/icon/icon-29#3x.png" width="87" />
<icon height="48" src="resources/ios/icon/icon-24#2x.png" width="48" />
<icon height="55" src="resources/ios/icon/icon-27.5#2x.png" width="55" />
<icon height="88" src="resources/ios/icon/icon-44#2x.png" width="88" />
<icon height="172" src="resources/ios/icon/icon-86#2x.png" width="172" />
<icon height="196" src="resources/ios/icon/icon-98#2x.png" width="196" />
<icon height="216" src="resources/ios/icon/icon-108#2x.png" width="216" />
<splash height="2688" src="resources/ios/splash/Default-2688h~iphone.png" width="1242" />
<splash height="1242" src="resources/ios/splash/Default-Landscape-2688h~iphone.png" width="2688" />
<splash height="1792" src="resources/ios/splash/Default-1792h~iphone.png" width="828" />
<splash height="828" src="resources/ios/splash/Default-Landscape-1792h~iphone.png" width="1792" />
<splash height="2436" src="resources/ios/splash/Default-2436h.png" width="1125" />
<splash height="1125" src="resources/ios/splash/Default-Landscape-2436h.png" width="2436" />
</platform>
<plugin name="cordova-plugin-telerik-imagepicker" spec="^2.3.3" />
<plugin name="cordova-plugin-crop" spec="^0.4.0" />
<plugin name="cordova-plugin-file" spec="^6.0.2" />
<plugin name="cordova-plugin-camera" spec="^4.1.0">
<variable name="ANDROID_SUPPORT_V4_VERSION" value="27.+" />
</plugin>
<plugin name="cordova-plugin-androidx-adapter" spec="^1.1.0" />
<plugin name="cordova-plugin-androidx" spec="^1.0.2" />
<plugin name="cordova-plugin-whitelist" spec="^1.3.4" />
<plugin name="cordova-plugin-statusbar" spec="^2.4.3" />
<plugin name="cordova-plugin-device" spec="^2.0.3" />
<plugin name="cordova-plugin-splashscreen" spec="^5.0.3" />
<plugin name="cordova-plugin-ionic-webview" spec="^4.1.2">
<variable name="ANDROID_SUPPORT_ANNOTATIONS_VERSION" value="27.+" />
</plugin>
<plugin name="cordova-plugin-ionic-keyboard" spec="^2.2.0" />
<plugin name="cordova-sqlite-storage" spec="^3.4.0" />
<plugin name="cordova-plugin-email-composer" spec="^0.9.2">
<variable name="ANDROID_SUPPORT_V4_VERSION" value="27.+" />
</plugin>
<plugin name="cordova-plugin-inappbrowser" spec="^3.1.0" />
<plugin name="phonegap-plugin-barcodescanner" spec="8.1.0">
<variable name="ANDROID_SUPPORT_V4_VERSION" value="27.+" />
</plugin>
<engine name="browser" spec="5.0.4" />
<engine name="android" spec="8.1.0" />
</widget>
Ionic info:
Ionic:
Ionic CLI : 5.4.13 (/usr/local/lib/node_modules/ionic)
Ionic Framework : #ionic/angular 4.11.7
#angular-devkit/build-angular : 0.801.3
#angular-devkit/schematics : 8.1.3
#angular/cli : 8.1.3
#ionic/angular-toolkit : 2.1.1
Cordova:
Cordova CLI : 9.0.0 (cordova-lib#9.0.1)
Cordova Platforms : ios 5.1.1
Cordova Plugins : cordova-plugin-ionic-keyboard 2.2.0, cordova-plugin-ionic-webview 4.1.3, (and 14 other plugins)
Utility:
cordova-res (update available: 0.9.0) : 0.8.0
native-run (update available: 0.3.0) : 0.2.9
System:
ios-sim : 8.0.2
NodeJS : v12.11.1 (/usr/local/bin/node)
npm : 6.11.3
OS : macOS Catalina
Xcode : Xcode 11.3.1 Build version 11C504
Do you have an external keyboard connected? I wrestled with this for awhile before I realized that the keyboard wasn't appearing on any app. I had a BT presentation remote connected to my device and it basically functions as a keyboard with a limited number of keys.

Phonegap iOS appstore missing purpose string in info.plist file

I am building an app using Phonegap, and I have been stuck trying to submit it to the app store. I have searched and searched and tried different methods, but I have not been able to get past this.
Every time I submit the App, I am getting the following response:
Missing Purpose String in Info.plist File - Your app's code references one or more APIs that access sensitive user data. The app's Info.plist file should contain a NSPhotoLibraryUsageDescription key with a user-facing purpose string explaining clearly and completely why your app needs the data. Starting Spring 2019, all apps submitted to the App Store that access user data will be required to include a purpose string.
I have tried multiple tweaks to my config.xml file with no success.
Below is my latest trial
<?xml version='1.0' encoding='utf-8'?>
<widget id="com.domain.app" version="0.1.3"
xmlns="http://www.w3.org/ns/widgets"
xmlns:gap="http://phonegap.com/ns/1.0">
<name>App</name>
<description>
Test App
</description>
<author email="admin#.com" href="http://www.com">
Dev Team
</author>
<content src="index.html" />
<preference name="DisallowOverscroll" value="true" />
<preference name="android-minSdkVersion" value="14" />
<platform name="android">
<icon qualifier="ldpi" src="res/icons/android/drawable-ldpi-icon.png" />
<icon qualifier="mdpi" src="res/icons/android/drawable-mdpi-icon.png" />
<icon qualifier="hdpi" src="res/icons/android/drawable-hdpi-icon.png" />
<icon qualifier="xhdpi" src="res/icons/android/drawable-xhdpi-icon.png" />
<icon qualifier="xxhdpi" src="res/icons/android/drawable-xxhdpi-icon.png" />
<icon qualifier="xxxhdpi" src="res/icons/android/drawable-xxxhdpi-icon.png" />
<splash qualifier="land-ldpi" src="res/screens/android/drawable-land-ldpi-screen.png" />
<splash qualifier="land-mdpi" src="res/screens/android/drawable-land-mdpi-screen.png" />
<splash qualifier="land-hdpi" src="res/screens/android/drawable-land-hdpi-screen.png" />
<splash qualifier="land-xhdpi" src="res/screens/android/drawable-land-xhdpi-screen.png" />
<splash qualifier="land-xxhdpi" src="res/screens/android/drawable-land-xxhdpi-screen.png" />
<splash qualifier="land-xxxhdpi" src="res/screens/android/drawable-land-xxxhdpi-screen.png" />
<splash qualifier="port-ldpi" src="res/screens/android/drawable-port-ldpi-screen.png" />
<splash qualifier="port-mdpi" src="res/screens/android/drawable-port-mdpi-screen.png" />
<splash qualifier="port-hdpi" src="res/screens/android/drawable-port-hdpi-screen.png" />
<splash qualifier="port-xhdpi" src="res/screens/android/drawable-port-xhdpi-screen.png" />
<splash qualifier="port-xxhdpi" src="res/screens/android/drawable-port-xxhdpi-screen.png" />
<splash qualifier="port-xxxhdpi" src="res/screens/android/drawable-port-xxxhdpi-screen.png" />
</platform>
<platform name="ios">
<preference name="Orientation" value="all" />
<preference name="AutoHideSplashScreen" value="false" />
<icon height="57" platform="ios" src="res/icons/ios/icon.png" width="57" />
<icon height="114" platform="ios" src="res/icons/ios/icon#2x.png" width="114" />
<icon height="40" platform="ios" src="res/icons/ios/icon-40.png" width="40" />
<icon height="80" platform="ios" src="res/icons/ios/icon-40#2x.png" width="80" />
<icon height="50" platform="ios" src="res/icons/ios/icon-50.png" width="50" />
<icon height="100" platform="ios" src="res/icons/ios/icon-50#2x.png" width="100" />
<icon height="60" platform="ios" src="res/icons/ios/icon-60.png" width="60" />
<icon height="120" platform="ios" src="res/icons/ios/icon-60#2x.png" width="120" />
<icon height="180" platform="ios" src="res/icons/ios/icon-60#3x.png" width="180" />
<icon height="72" platform="ios" src="res/icons/ios/icon-72.png" width="72" />
<icon height="144" platform="ios" src="res/icons/ios/icon-72#2x.png" width="144" />
<icon height="76" platform="ios" src="res/icons/ios/icon-76.png" width="76" />
<icon height="152" platform="ios" src="res/icons/ios/icon-76#2x.png" width="152" />
<icon height="29" platform="ios" src="res/icons/ios/icon-small.png" width="29" />
<icon height="58" platform="ios" src="res/icons/ios/icon-small#2x.png" width="58" />
<icon height="87" platform="ios" src="res/icons/ios/icon-small#3x.png" width="87" />
<icon height="1024" platform="ios" src="res/icons/ios/icon-1024.png" width="1024" />
<splash height="1136" platform="ios" src="res/screens/ios/Default-568h#2x~iphone.png" width="640" />
<splash height="1334" platform="ios" src="res/screens/ios/Default-667h.png" width="750" />
<splash height="2208" platform="ios" src="res/screens/ios/Default-736h.png" width="1242" />
<splash height="1242" platform="ios" src="res/screens/ios/Default-Landscape-736h.png" width="2208" />
<splash height="1536" platform="ios" src="res/screens/ios/Default-Landscape#2x~ipad.png" width="2048" />
<splash height="768" platform="ios" src="res/screens/ios/Default-Landscape~ipad.png" width="1024" />
<splash height="2048" platform="ios" src="res/screens/ios/Default-Portrait#2x~ipad.png" width="1536" />
<splash height="1024" platform="ios" src="res/screens/ios/Default-Portrait~ipad.png" width="768" />
<splash height="960" platform="ios" src="res/screens/ios/Default#2x~iphone.png" width="640" />
<splash height="480" platform="ios" src="res/screens/ios/Default~iphone.png" width="320" />
<edit-config target="NSPhotoLibraryUsageDescription" file="*-Info.plist" mode="merge">
<string>App requires access to photo library in order to enable users to update profile picture with a photo stored in their library. </string>
</edit-config>
<custom-config-file parent="NSPhotoLibraryUsageDescription" platform="ios" target="*-Info.plist">
<string>App requires access to photo library in order to enable users to update profile picture with a photo stored in their library.</string>
</custom-config-file>
<icon src="Appstore.png" width="1024" height="1024" />
</platform>
<platform name="wp8">
<icon height="99" platform="wp8" src="www/res/icons/windows/Square150x150Logo.png" width="99" />
<icon height="159" platform="wp8" src="www/res/icons/winwodws/Square150x150Logo.png" width="159" />
<splash height="1280" platform="wp8" src="www/res/screens/windows/SplashScreenPhone.scale-240.jpg" width="768" />
</platform>
<platform name="windows">
<icon height="150" platform="windows" src="www/res/icons/windows/Square150x150Logo.png" width="150" />
<icon height="44" platform="windows" src="www/res/icons/windows/Square44x44Logo.png" width="44" />
<icon height="50" platform="windows" src="www/res/icons/windows/storelogo.png" width="50" />
<splash height="300" platform="windows" src="www/res/screens/windows/splashscreen.png" width="620" />
<icon height="150" platform="windows" src="www/res/icons/windows/Square150x150Logo.png" width="150" />
<icon height="44" platform="windows" src="www/res/icons/windows/Square44x44Logo.png" width="44" />
<icon height="106" platform="windows" src="www/res/icons/windows/Square150x150Logo.png" width="106" />
<icon height="70" platform="windows" src="www/res/icons/windows/Square70x70Logo.png" width="70" />
<icon height="71" platform="windows" src="www/res/icons/windows/Square71x71Logo.png" width="71" />
<icon height="170" platform="windows" src="www/res/icons/windows/Square150x150Logo.png" width="170" />
<icon height="360" platform="windows" src="www/res/icons/windows/Square150x150Logo.png" width="360" />
<icon height="310" platform="windows" src="www/res/icons/windows/Square150x150Logo.png" width="310" />
<icon height="150" platform="windows" src="www/res/icons/windows/Square310x310Logo.png" width="310" />
<icon height="360" platform="windows" src="www/res/icons/windows/Square310x310Logo.png" width="744" />
<splash height="1920" platform="windows" src="www/res/screens/windows/splashscreen.png" width="1152" />
</platform>
<engine name="android" spec="~6.4.0" />
<engine name="ios" spec="^4.5.3" />
<plugin name="cordova-plugin-battery-status" spec="^1.2.5" />
<plugin name="cordova-plugin-camera" spec="^3.0.0">
<variable name="CAMERA_USAGE_DESCRIPTION" value="Camera used to upload a new profile picture" />
<variable name="PHOTOLIBRARY_USAGE_DESCRIPTION" value="Library is used to choose and upload a new profile picture" />
</plugin>
<plugin name="cordova-plugin-device" spec="^1.1.7" />
<plugin name="cordova-plugin-device-motion" spec="^1.2.5" />
<plugin name="cordova-plugin-dialogs" spec="^1.3.4" />
<plugin name="cordova-plugin-file" spec="^5.0.0" />
<plugin name="cordova-plugin-file-transfer" spec="^1.7.0" />
<plugin name="cordova-plugin-globalization" spec="^1.0.8" />
<plugin name="cordova-plugin-inappbrowser" spec="^1.7.2" />
<plugin name="cordova-plugin-insomnia" spec="^4.3.0" />
<plugin name="cordova-plugin-media-capture" spec="^2.0.0">
<variable name="CAMERA_USAGE_DESCRIPTION" value="Camera used to upload a new profile picture" />
<variable name="MICROPHONE_USAGE_DESCRIPTION" value="Microphone is not used in this app" />
<variable name="PHOTOLIBRARY_USAGE_DESCRIPTION" value="Library is used to choose and upload a new profile picture" />
</plugin>
<plugin name="cordova-plugin-network-information" spec="^1.3.4" />
<plugin name="cordova-plugin-screen-orientation" spec="^2.0.2" />
<plugin name="cordova-plugin-splashscreen" spec="^4.1.0" />
<plugin name="cordova-plugin-statusbar" spec="^2.3.0" />
<plugin name="phonegap-plugin-contentsync" spec="^1.4.1" />
<plugin name="phonegap-plugin-mobile-accessibility" spec="^1.0.5" />
<plugin name="cordova-plugin-whitelist" spec="^1.3.3" />
<allow-navigation href="*" />
<platform name="browser">
<preference name="SplashScreen" value="www/res/screen/ios/Default-736h.png" />
<!-- defaults to "/img/logo.png" -->
<preference name="SplashScreenDelay" value="3000" />
<!-- defaults to "3000" -->
<preference name="SplashScreenBackgroundColor" value="white" />
<!-- defaults to "#464646" -->
<preference name="ShowSplashScreen" value="false" />
<!-- defaults to "true" -->
<preference name="SplashScreenWidth" value="600" />
<!-- defaults to "170" -->
<preference name="SplashScreenHeight" value="300" />
<!-- defaults to "200" -->
</platform>
<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:*" />
<platform name="android">
<allow-intent href="market:*" />
</platform>
<platform name="ios">
<allow-intent href="itms:*" />
<allow-intent href="itms-apps:*" />
</platform>
</widget>
Any help is greatly appreciated,
Daniel

Custom splash images not appearing in LaunchImage.launchimage folder in Ionic 3 project

I have created a new Ionic (v3) project and want to add spash screen to support iPhone XS max and XR. The problem that I am facing inspite of declaring the path and other specs required to get the splash image for a particular device in config.xml is that I could not see the same image in my ios platform's LaunchImage.launchimage folder. This makes problem as Xcode reads from the mentioned folder where it could not find my custom splash image.
My config.xml looks like:
<?xml version='1.0' encoding='utf-8'?>
<widget id="io.ionic.starter" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<name>remote</name>
<description>An awesome Ionic/Cordova app.</description>
<author email="hi#ionicframework" href="http://ionicframework.com/">Ionic Framework Team</author>
<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="android-minSdkVersion" value="19" />
<preference name="BackupWebStorage" value="none" />
<preference name="SplashMaintainAspectRatio" value="true" />
<preference name="FadeSplashScreenDuration" value="300" />
<preference name="SplashShowOnlyFirstTime" value="false" />
<preference name="SplashScreen" value="screen" />
<preference name="SplashScreenDelay" value="3000" />
<platform name="android">
<allow-intent href="market:*" />
<icon density="ldpi" src="resources/android/icon/drawable-ldpi-icon.png" />
<icon density="mdpi" src="resources/android/icon/drawable-mdpi-icon.png" />
<icon density="hdpi" src="resources/android/icon/drawable-hdpi-icon.png" />
<icon density="xhdpi" src="resources/android/icon/drawable-xhdpi-icon.png" />
<icon density="xxhdpi" src="resources/android/icon/drawable-xxhdpi-icon.png" />
<icon density="xxxhdpi" src="resources/android/icon/drawable-xxxhdpi-icon.png" />
<splash density="land-ldpi" src="resources/android/splash/drawable-land-ldpi-screen.png" />
<splash density="land-mdpi" src="resources/android/splash/drawable-land-mdpi-screen.png" />
<splash density="land-hdpi" src="resources/android/splash/drawable-land-hdpi-screen.png" />
<splash density="land-xhdpi" src="resources/android/splash/drawable-land-xhdpi-screen.png" />
<splash density="land-xxhdpi" src="resources/android/splash/drawable-land-xxhdpi-screen.png" />
<splash density="land-xxxhdpi" src="resources/android/splash/drawable-land-xxxhdpi-screen.png" />
<splash density="port-ldpi" src="resources/android/splash/drawable-port-ldpi-screen.png" />
<splash density="port-mdpi" src="resources/android/splash/drawable-port-mdpi-screen.png" />
<splash density="port-hdpi" src="resources/android/splash/drawable-port-hdpi-screen.png" />
<splash density="port-xhdpi" src="resources/android/splash/drawable-port-xhdpi-screen.png" />
<splash density="port-xxhdpi" src="resources/android/splash/drawable-port-xxhdpi-screen.png" />
<splash density="port-xxxhdpi" src="resources/android/splash/drawable-port-xxxhdpi-screen.png" />
</platform>
<platform name="ios">
<allow-intent href="itms:*" />
<allow-intent href="itms-apps:*" />
<icon height="57" src="resources/ios/icon/icon.png" width="57" />
<icon height="114" src="resources/ios/icon/icon#2x.png" width="114" />
<icon height="40" src="resources/ios/icon/icon-40.png" width="40" />
<icon height="80" src="resources/ios/icon/icon-40#2x.png" width="80" />
<icon height="120" src="resources/ios/icon/icon-40#3x.png" width="120" />
<icon height="50" src="resources/ios/icon/icon-50.png" width="50" />
<icon height="100" src="resources/ios/icon/icon-50#2x.png" width="100" />
<icon height="60" src="resources/ios/icon/icon-60.png" width="60" />
<icon height="120" src="resources/ios/icon/icon-60#2x.png" width="120" />
<icon height="180" src="resources/ios/icon/icon-60#3x.png" width="180" />
<icon height="72" src="resources/ios/icon/icon-72.png" width="72" />
<icon height="144" src="resources/ios/icon/icon-72#2x.png" width="144" />
<icon height="76" src="resources/ios/icon/icon-76.png" width="76" />
<icon height="152" src="resources/ios/icon/icon-76#2x.png" width="152" />
<icon height="167" src="resources/ios/icon/icon-83.5#2x.png" width="167" />
<icon height="29" src="resources/ios/icon/icon-small.png" width="29" />
<icon height="58" src="resources/ios/icon/icon-small#2x.png" width="58" />
<icon height="87" src="resources/ios/icon/icon-small#3x.png" width="87" />
<icon height="1024" src="resources/ios/icon/icon-1024.png" width="1024" />
<splash height="1136" src="resources/ios/splash/Default-568h#2x~iphone.png" width="640" />
<splash height="1334" src="resources/ios/splash/Default-667h.png" width="750" />
<splash height="2208" src="resources/ios/splash/Default-736h.png" width="1242" />
<splash height="1242" src="resources/ios/splash/Default-Landscape-736h.png" width="2208" />
<splash height="1536" src="resources/ios/splash/Default-Landscape#2x~ipad.png" width="2048" />
<splash height="2048" src="resources/ios/splash/Default-Landscape#~ipadpro.png" width="2732" />
<splash height="768" src="resources/ios/splash/Default-Landscape~ipad.png" width="1024" />
<splash height="2048" src="resources/ios/splash/Default-Portrait#2x~ipad.png" width="1536" />
<splash height="2732" src="resources/ios/splash/Default-Portrait#~ipadpro.png" width="2048" />
<splash height="1024" src="resources/ios/splash/Default-Portrait~ipad.png" width="768" />
<splash height="960" src="resources/ios/splash/Default#2x~iphone.png" width="640" />
<splash height="480" src="resources/ios/splash/Default~iphone.png" width="320" />
<splash height="2732" src="resources/ios/splash/Default#2x~universal~anyany.png" width="2732" />
<!-- My custom image that is not visible -->
<splash height="2688" src="resources/ios/splash/Default.png" width="1242" />
</platform>
<plugin name="cordova-plugin-whitelist" spec="1.3.3" />
<plugin name="cordova-plugin-statusbar" spec="2.4.2" />
<plugin name="cordova-plugin-device" spec="2.0.2" />
<plugin name="cordova-plugin-ionic-webview" spec="^2.0.0" />
<plugin name="cordova-plugin-ionic-keyboard" spec="^2.0.5" />
<plugin name="cordova-plugin-splashscreen" spec="^5.0.2" />
<engine name="ios" spec="latest" />
My question is why I cannot see Default.png in my platform's launchimage folder? I have also tried with name Default-Portrait-2688h#3x.png. I have removed my splash screen plugin and reinstalled it. Using ios latest spec as well. Please help.

How to open external link in iOS?

I am using Ionic 3 and I need to load my app from external link.
I did it by adding my external link in <content src="example.com" /> of config.xml file. This is working properly. I need to open links which are in my app screens in browser.
As an example, Imagine there is facebook link in one of my app screen(Like in the image below) and I want to open it in browser(Chrome, Safari..etc) when I click on the facebook link.
When I run my app on Android it is working as expected.
But on iOS it is not working.
Below is my config.xml file
<?xml version='1.0' encoding='utf-8'?>
<widget id="com.test.test" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<name>Test</name>
<description>An awesome Ionic/Cordova app.</description>
<author email="hi#ionicframework" href="http://ionicframework.com/">Ionic Framework Team</author>
<content src="example.com" />
<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="true" />
<preference name="android-minSdkVersion" value="19" />
<preference name="BackupWebStorage" value="none" />
<preference name="SplashMaintainAspectRatio" value="true" />
<preference name="FadeSplashScreenDuration" value="300" />
<preference name="SplashShowOnlyFirstTime" value="false" />
<preference name="SplashScreen" value="screen" />
<preference name="SplashScreenDelay" value="3000" />
<platform name="android">
<allow-intent href="market:*" />
<icon density="ldpi" src="resources/android/icon/drawable-ldpi-icon.png" />
<icon density="mdpi" src="resources/android/icon/drawable-mdpi-icon.png" />
<icon density="hdpi" src="resources/android/icon/drawable-hdpi-icon.png" />
<icon density="xhdpi" src="resources/android/icon/drawable-xhdpi-icon.png" />
<icon density="xxhdpi" src="resources/android/icon/drawable-xxhdpi-icon.png" />
<icon density="xxxhdpi" src="resources/android/icon/drawable-xxxhdpi-icon.png" />
<splash density="land-ldpi" src="resources/android/splash/drawable-land-ldpi-screen.png" />
<splash density="land-mdpi" src="resources/android/splash/drawable-land-mdpi-screen.png" />
<splash density="land-hdpi" src="resources/android/splash/drawable-land-hdpi-screen.png" />
<splash density="land-xhdpi" src="resources/android/splash/drawable-land-xhdpi-screen.png" />
<splash density="land-xxhdpi" src="resources/android/splash/drawable-land-xxhdpi-screen.png" />
<splash density="land-xxxhdpi" src="resources/android/splash/drawable-land-xxxhdpi-screen.png" />
<splash density="port-ldpi" src="resources/android/splash/drawable-port-ldpi-screen.png" />
<splash density="port-mdpi" src="resources/android/splash/drawable-port-mdpi-screen.png" />
<splash density="port-hdpi" src="resources/android/splash/drawable-port-hdpi-screen.png" />
<splash density="port-xhdpi" src="resources/android/splash/drawable-port-xhdpi-screen.png" />
<splash density="port-xxhdpi" src="resources/android/splash/drawable-port-xxhdpi-screen.png" />
<splash density="port-xxxhdpi" src="resources/android/splash/drawable-port-xxxhdpi-screen.png" />
</platform>
<platform name="ios">
<allow-intent href="itms:*" />
<allow-intent href="itms-apps:*" />
<allow-navigation href="*" />
<icon height="57" src="resources/ios/icon/icon.png" width="57" />
<icon height="114" src="resources/ios/icon/icon#2x.png" width="114" />
<icon height="40" src="resources/ios/icon/icon-40.png" width="40" />
<icon height="80" src="resources/ios/icon/icon-40#2x.png" width="80" />
<icon height="120" src="resources/ios/icon/icon-40#3x.png" width="120" />
<icon height="50" src="resources/ios/icon/icon-50.png" width="50" />
<icon height="100" src="resources/ios/icon/icon-50#2x.png" width="100" />
<icon height="60" src="resources/ios/icon/icon-60.png" width="60" />
<icon height="120" src="resources/ios/icon/icon-60#2x.png" width="120" />
<icon height="180" src="resources/ios/icon/icon-60#3x.png" width="180" />
<icon height="72" src="resources/ios/icon/icon-72.png" width="72" />
<icon height="144" src="resources/ios/icon/icon-72#2x.png" width="144" />
<icon height="76" src="resources/ios/icon/icon-76.png" width="76" />
<icon height="152" src="resources/ios/icon/icon-76#2x.png" width="152" />
<icon height="167" src="resources/ios/icon/icon-83.5#2x.png" width="167" />
<icon height="29" src="resources/ios/icon/icon-small.png" width="29" />
<icon height="58" src="resources/ios/icon/icon-small#2x.png" width="58" />
<icon height="87" src="resources/ios/icon/icon-small#3x.png" width="87" />
<icon height="1024" src="resources/ios/icon/icon-1024.png" width="1024" />
<splash height="1136" src="resources/ios/splash/Default-568h#2x~iphone.png" width="640" />
<splash height="1334" src="resources/ios/splash/Default-667h.png" width="750" />
<splash height="2208" src="resources/ios/splash/Default-736h.png" width="1242" />
<splash height="1242" src="resources/ios/splash/Default-Landscape-736h.png" width="2208" />
<splash height="1536" src="resources/ios/splash/Default-Landscape#2x~ipad.png" width="2048" />
<splash height="2048" src="resources/ios/splash/Default-Landscape#~ipadpro.png" width="2732" />
<splash height="768" src="resources/ios/splash/Default-Landscape~ipad.png" width="1024" />
<splash height="2048" src="resources/ios/splash/Default-Portrait#2x~ipad.png" width="1536" />
<splash height="2732" src="resources/ios/splash/Default-Portrait#~ipadpro.png" width="2048" />
<splash height="1024" src="resources/ios/splash/Default-Portrait~ipad.png" width="768" />
<splash height="960" src="resources/ios/splash/Default#2x~iphone.png" width="640" />
<splash height="480" src="resources/ios/splash/Default~iphone.png" width="320" />
<splash height="2732" src="resources/ios/splash/Default#2x~universal~anyany.png" width="2732" />
</platform>
<plugin name="cordova-plugin-whitelist" spec="1.3.3" />
<plugin name="cordova-plugin-statusbar" spec="2.4.2" />
<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="^2.0.0" />
<plugin name="cordova-plugin-ionic-keyboard" spec="^2.0.5" />
<engine name="android" spec="7.0.0" />
<engine name="ios" spec="4.4.0" />
</widget>
I am not using cordova-plugin-inappbrowser plugin and I need to find a solution without doing it using plugin like cordova-plugin-inappbrowser as I load my app inside an iframe from an external link.
It is really appreciated if someone can help me in fixing this issue.
Try this
window.open("https://www.example.com/", '_system');
Call a function like this:
goExternalLink(url) {
window.open(url, '_system', 'location=yes');
return false;
}
Hope this would help you.
You can do this by using a Cordova plugin called InAppBrowser.
Documentation : Cordova InAppBrowser
Add it to your project by,
cordova plugin add cordova-plugin-inappbrowser
Now change your anchor tags to this format,
<a id="to-recover" href="#" onclick="cordova.InAppBrowser.open('https://www.google.com', '_system', 'location=yes');" >google</a>
Build for iOS again. Now it'll open in a seperate browser window.
Try this :
1) Install Plugin :
ionic cordova plugin add cordova-plugin-inappbrowser
npm install --save #ionic-native/in-app-browser
2) import and use
import { InAppBrowser } from '#ionic-native/in-app-browser';
export class HomePage{
constructor(private iab: InAppBrowser) { }
openUrl(url:string){
const browser = this.iab.create(url);
}
}

Resources