2

Initially we were using angular cordova-ios version as 4.5.4 and while uploading the IPA to Apple Store Connect it gave UIWebView error hence, upgraded the cordova-ios platform to 5.1.1 and added cordova-plugin-wkwebview-engine plugin. Now on generating IPA , it shows blank screen and doesn't route to the login screen.

Version details are as below:

angular-devkit/architect         0.10.7
@angular-devkit/build-angular     0.10.7
@angular-devkit/build-optimizer   0.10.7
@angular-devkit/build-webpack     0.10.7
@angular-devkit/core              7.0.7
@angular-devkit/schematics        0.8.9
@angular/cli                      6.2.9
@ngtools/webpack                  7.0.7
@schematics/angular               0.8.9
@schematics/update                0.8.9
rxjs                              5.5.12
typescript                        2.9.2
webpack                           4.19.1
cordova-ios                       5.1.1

We used the below command to build:

ng build --prod --source-map=false && cordova build ios

Our config.xml file

<?xml version='1.0' encoding='utf-8'?>
<widget android-activityName="appname" android-versionCode="10002" id="appname" version="1.0.2" xmlns="http://www.w3.org/ns/widgets" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:cdv="http://cordova.apache.org/ns/1.0">
    <name>appname</name>
    <description>
         Description
    </description>
    <author email="Support@appname.com" href="http://appname.com">
        appname
    </author>
    <content src="index.html" />
    <allow-navigation href="*" />
    <allow-intent href="*" />
    <access origin="*" />
    <edit-config file="app/src/main/AndroidManifest.xml" mode="merge" target="/manifest/application">
        <application android:usesCleartextTraffic="true" />
    </edit-config>
    <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:*" />
        <icon density="ldpi" src="res/icon/android/ldpi.png" />
        <preference name="CustomURLSchemePluginClearsAndroidIntent" value="true" />
    </platform>
    <platform name="ios">
        <allow-intent href="itms:*" />
        <allow-intent href="itms-apps:*" />
        <icon density="ldpi" src="res/icon/android/ldpi.png" />
    </platform>
    <hook src="hooks/appBeforeBuild.js" type="before_build" />
    <hook src="hooks/appBeforeBuild.js" type="before_run" />
    <engine name="browser" spec="^5.0.3" />
    <plugin name="cordova-plugin-dbcopy" spec="^2.1.2" />
    <plugin name="cordova-plugin-whitelist" spec="^1.3.3" />
    <plugin name="cordova-plugin-network-information" spec="^2.0.1" />
    <plugin name="uk.co.workingedge.cordova.plugin.sqliteporter" spec="^1.1.0" />
    <plugin name="cordova-plugin-device" spec="^2.0.2" />
    <plugin name="cordova-plugin-printer" spec="^0.7.3" />
    <plugin name="cordova-plugin-file-transfer" spec="^1.7.1" />
    <plugin name="cordova-plugin-customurlscheme" spec="^4.4.0">
        <variable name="URL_SCHEME" value="URL_SCHEME_NAME" />
        <variable name="ANDROID_SCHEME" value=" " />
        <variable name="ANDROID_HOST" value=" " />
        <variable name="ANDROID_PATHPREFIX" value="/" />
    </plugin>
    <plugin name="cordova-plugin-dialogs" spec="^1.3.3" />
    <plugin name="cordova-plugin-bluetoothle" spec="^4.5.10" />
    <plugin name="cordova-plugin-bluetooth-peripheral-usage-description" spec="^1.0.1">
        <variable name="TEXT" value="Some string" />
    </plugin>
    <plugin name="cordova-plugin-geolocation" spec="^4.0.2" />
    <plugin name="cordova-plugin-android-permissions" spec="^1.0.2" />
    <plugin name="cordova-plugin-ble-central" spec="^1.2.5" />
    <plugin name="cordova-plugin-inappbrowser" spec="^3.2.0" />
    <plugin name="cordova-plugin-permission" spec="^0.1.0" />
    <plugin name="cordova-plugin-vibration" spec="^3.1.1" />
</widget>

agandhi
  • 21
  • 1

1 Answers1

2

Unfortunately, white screen errors are pretty generic, as the error condition isn't listed in the console (see Cordova - white screen after splash, no exceptions in console).

You can, however, launch the app in the iOS simulator and hook it up to Safari's dev tools, and then hit refresh. It should kick out the exception that iOS is running into.

eb1
  • 2,897
  • 3
  • 31
  • 42
  • 1
    Thanks! We tried this but seems to be a routing issue, the app component's router outlet doesn't route to the child component in the IPA but works fine on the browser. We find no errors as such on the console. – agandhi Sep 16 '20 at 04:59