apache / cordova-ios

Apache Cordova iOS
https://cordova.apache.org/
Apache License 2.0
2.16k stars 988 forks source link

Ionic v5 - IOS stuck on Splashscreen with loading indicator (works on Android) #824

Closed johnylawrence1987 closed 4 years ago

johnylawrence1987 commented 4 years ago

The mobile app is working fine on Android but is getting stuck on Splashscreen showing loading indicator on IOS.

I am not able to find any issue, a bit of help would be very much appreciated.


ionic info

Ionic:

   Ionic CLI                     : 6.1.0 (C:\Users\XXX\AppData\Roaming\npm\node_modules\@ionic\cli)
   Ionic Framework               : @ionic/angular 5.0.7
   @angular-devkit/build-angular : 0.803.26
   @angular-devkit/schematics    : 8.3.26
   @angular/cli                  : 8.3.26
   @ionic/angular-toolkit        : 2.2.0

Cordova:

   Cordova CLI       : 9.0.0 (cordova-lib@9.0.1)
   Cordova Platforms : android 8.1.0, ios 5.1.1
   Cordova Plugins   : cordova-plugin-ionic-keyboard 2.2.0, cordova-plugin-ionic-webview 4.1.3, (and 16 other plugins)

Utility:

   cordova-res : 0.11.0
   native-run  : 0.3.0

System:

   Android SDK Tools : 26.1.1 (C:\Users\XXX\AppData\Local\Android\Sdk)
   NodeJS            : v13.8.0 (C:\Program Files\nodejs\node.exe)
   npm               : 6.13.6
   OS                : Windows 10

cordova plugins ls

cordova-plugin-androidx 1.0.2 "cordova-plugin-androidx"
cordova-plugin-androidx-adapter 1.1.0 "cordova-plugin-androidx-adapter"
cordova-plugin-camera 4.1.0 "Camera"
cordova-plugin-device 2.0.2 "Device"
cordova-plugin-facebook4 6.4.0 "Facebook Connect"
cordova-plugin-file 6.0.2 "File"
cordova-plugin-file-transfer 1.7.1 "File Transfer"
cordova-plugin-firebase-analytics 4.2.0 "FirebaseAnalyticsPlugin"
cordova-plugin-firebase-messaging 4.3.0 "FirebaseMessagingPlugin"
cordova-plugin-ionic-keyboard 2.2.0 "cordova-plugin-ionic-keyboard"
cordova-plugin-ionic-webview 4.1.3 "cordova-plugin-ionic-webview"
cordova-plugin-media-capture 3.0.3 "Capture"
cordova-plugin-splashscreen 5.0.2 "Splashscreen"
cordova-plugin-statusbar 2.4.2 "StatusBar"
cordova-plugin-whitelist 1.3.3 "Whitelist"
cordova-plugin-x-socialsharing 5.6.4 "SocialSharing"
cordova-sqlite-storage 4.0.0 "Cordova sqlite storage plugin - cordova-sqlite-storage plugin version"
cordova-support-android-plugin 1.0.2 "cordova-support-android-plugin"
cordova-support-google-services 1.4.0 "cordova-support-google-services"
es6-promise-plugin 4.2.2 "Promise"

On my config.xml

<preference name="WKWebViewOnly" value="true" />
    <preference name="Scheme" value="https" />
    <preference name="MixedContentMode" value="2" />
    <preference name="iosScheme" value="httpsionic" />
    <allow-navigation href="httpsionic://*" />
    <allow-navigation href="http://*/*" />

iOS LOG from XCode

2020-04-10 05:00:00.170670-0700 Social AI[9953:58501] <Warning>: Please set a value for FacebookAutoLogAppEventsEnabled. Set the flag to TRUE if you want to collect app install, app launch and in-app purchase events automatically. To request user consent before collecting data, set the flag value to FALSE, then change to TRUE once user consent is received. Learn more: https://developers.facebook.com/docs/app-events/getting-started-app-events-ios#disable-auto-events.
2020-04-10 05:00:00.172378-0700 Social AI[9953:58501] <Warning>: You haven't set a value for FacebookAdvertiserIDCollectionEnabled. Set the flag to TRUE if you want to collect Advertiser ID for better advertising and analytics results. To request user consent before collecting data, set the flag value to FALSE, then change to TRUE once user consent is received. Learn more: https://developers.facebook.com/docs/app-events/getting-started-app-events-ios#disable-auto-events.
2020-04-10 05:00:02.086914-0700 Social AI[9953:58501] DiskCookieStorage changing policy from 2 to 0, cookie file: file:///Users/joao/Library/Developer/CoreSimulator/Devices/4B0780FA-57BD-4C5D-9483-7D486400AA54/data/Containers/Data/Application/DAA9F6B5-086D-40F2-A1AE-FB898E78452A/Library/Cookies/com.social.ai.binarycookies
2020-04-10 05:00:02.365964-0700 Social AI[9953:58501] Apache Cordova native platform version 5.1.1 is starting.
2020-04-10 05:00:02.367472-0700 Social AI[9953:58501] Multi-tasking -> Device: YES, App: YES
2020-04-10 05:00:03.741193-0700 Social AI[9953:58501] [CDVTimer][console] 0.434995ms
2020-04-10 05:00:03.743064-0700 Social AI[9953:58501] [CDVTimer][handleopenurl] 0.460982ms
2020-04-10 05:00:03.757038-0700 Social AI[9953:58501] [CDVTimer][intentandnavigationfilter] 12.492895ms
2020-04-10 05:00:03.758941-0700 Social AI[9953:58501] [CDVTimer][gesturehandler] 0.395060ms
2020-04-10 05:00:03.760944-0700 Social AI[9953:58501] Starting Facebook Connect plugin
2020-04-10 05:00:03.762140-0700 Social AI[9953:58501] [CDVTimer][facebookconnectplugin] 1.707077ms
2020-04-10 05:00:08.648467-0700 Social AI[9953:58501] [CDVTimer][file] 170.173049ms
2020-04-10 05:00:08.648894-0700 Social AI[9953:58501] Starting Firebase Analytics plugin
2020-04-10 05:00:10.120471-0700 Social AI[9953:61339] 6.21.0 - [Firebase/Core][I-COR000003] The default Firebase app has not yet been configured. Add `[FIRApp configure];` (`FirebaseApp.configure()` in Swift) to your application initialization. Read more: https://goo.gl/ctyzm8.
2020-04-10 05:00:12.490027-0700 Social AI[9953:61403] 6.21.0 - [Firebase/Messaging][I-FCM001000] FIRMessaging Remote Notifications proxy enabled, will swizzle remote notification receiver handlers. If you'd prefer to manually integrate Firebase Messaging, add "FirebaseAppDelegateProxyEnabled" to your Info.plist, and set it to NO. Follow the instructions at:
https://firebase.google.com/docs/cloud-messaging/ios/client#method_swizzling_in_firebase_messaging
to ensure proper integration.
2020-04-10 05:00:12.502290-0700 Social AI[9953:58501] [CDVTimer][firebaseanalytics] 3853.478074ms
2020-04-10 05:00:12.525287-0700 Social AI[9953:58501] [CDVTimer][firebasemessaging] 22.354007ms
2020-04-10 05:00:12.526806-0700 Social AI[9953:58501] CDVIonicKeyboard: resize mode 1
2020-04-10 05:00:12.545412-0700 Social AI[9953:58501] CDVIonicKeyboard: WARNING!!: Keyboard plugin works better with WK
2020-04-10 05:00:12.545865-0700 Social AI[9953:58501] [CDVTimer][cdvionickeyboard] 19.813061ms
2020-04-10 05:00:13.050973-0700 Social A2020-04-10 05:00:13.407828-0700 Social AI[9953:58501] [CDVTimer][splashscreen] 861.564040ms
I[9953:61341] 6.21.0 - [Firebase/Analytics][I-ACS023007] Analytics v.60400000 started
2020-04-10 05:00:13.899837-0700 Social AI[9953:61341] 6.21.0 - [Firebase/Analytics][I-ACS023008] To enable debug logging set the following application argument: -FIRAnalyticsDebugEnabled (see http://goo.gl/RfcP7r)
2020-04-10 05:00:14.123644-0700 Social AI[9953:58501] [CDVTimer][statusbar] 242.972016ms
2020-04-10 05:00:14.168461-0700 Social AI[9953:58501] [CDVTimer][socialsharing] 43.095946ms
2020-04-10 05:00:14.170107-0700 Social AI[9953:58501] [CDVTimer][TotalPluginStartup] 10429.569006ms
2020-04-10 05:00:19.570529-0700 Social AI[9953:58501] WF: === Starting WebFilter logging for process Social AI
2020-04-10 05:00:19.571030-0700 Social AI[9953:58501] WF: _userSettingsForUser : (null)
2020-04-10 05:00:19.571817-0700 Social AI[9953:58501] WF: _WebFilterIsActive returning: NO
2020-04-10 05:00:20.778427-0700 Social AI[9953:58501] FBSDKLog: starting with Graph API v2.4, GET requests for /2812174648865069/model_asset should contain an explicit "fields" parameter
2020-04-10 05:00:43.497779-0700 Social AI[9953:61409] 6.21.0 - [Firebase/Analytics][I-ACS800023] No pending snapshot to activate. SDK name: app_measurement
2020-04-10 05:00:43.519652-0700 Social AI[9953:61409] 6.21.0 - [Firebase/Analytics][I-ACS031025] Analytics screen reporting is enabled. Call +[FIRAnalytics setScreenName:setScreenClass:] to set the screen name or override the default screen class name. To disable screen reporting, set the flag FirebaseScreenReportingEnabled to NO (boolean) in the Info.plist
2020-04-10 05:00:51.721871-0700 Social AI[9953:61655] 6.21.0 - [Firebase/Analytics][I-ACS023012] Analytics collection enabled
2020-04-10 05:01:33.366768-0700 Social AI[9953:58501] Starting Firebase Messaging plugin 
 [ProcessSuspension] 0x110ca56c0 - ProcessAssertion::processAssertionWasInvalidated()
2020-04-10 05:01:35.491115-0700 Social AI[9953:58501] FB Hybrid app events cannot be enabled, this feature requires WKWebView
2020-04-10 05:01:36.407717-0700 Social AI[9953:58501] [ProcessSuspension] 0x110ca5720 - ProcessAssertion::processAssertionWasInvalidated()
2020-04-10 05:02:04.276395-0700 Social AI[9953:58501] Could not signal service com.apple.WebKit.WebContent: 113: Could not find specified service
2020-04-10 05:02:04.718519-0700 Social AI[9953:58501] Could not signal service com.apple.WebKit.Networking: 113: Could not find specified service
timbru31 commented 4 years ago

Is this reproducible in a new, plain Cordova app? A minimal reproduction repository would really help to debug and later fix this issue. More information on how to create one: https://github.com/apache/cordova-contribute/blob/master/create-reproduction.md

jcesarmobile commented 4 years ago

Doesn't look like the webview plugin is properly installed since keyboard plugin is saying the webview is not WKWebView

CDVIonicKeyboard: WARNING!!: Keyboard plugin works better with WK

nadinejerome commented 4 years ago

This is happening for me as well. CDVIonicKeyboard: WARNING!!: Keyboard plugin works better with WK is just a warning, but the app is building with no errors and only splash screen loads.

jcesarmobile commented 4 years ago

yeah, but that means the plugin is not installed, if it's not installed then you get the white screen