Ionic 4 App Not Loading Past Spash Screen On iOS

I am building an app which runs great on Android. I have recently been trying to get the app to run on iOS. The app builds, but never runs past the splash screen. (The splash screen disappears, but the screen goes completely white and stays that way.) There are no errors, and the console logs inside the constructor of the app.component.ts file are not shown in the console when remote debugging through Safari.

This is the entire log that I see in XCode:

2019-07-01 19:52:54.087061-0500 PartyMe[5971:140222] Apache Cordova native platform version 4.5.5 is starting.
2019-07-01 19:52:54.087917-0500 PartyMe[5971:140222] Multi-tasking -> Device: YES, App: YES
2019-07-01 19:52:54.231658-0500 PartyMe[5971:140222] [MC] Lazy loading NSBundle MobileCoreServices.framework
2019-07-01 19:52:54.233010-0500 PartyMe[5971:140222] [MC] Loaded MobileCoreServices.framework
2019-07-01 19:52:54.234709-0500 PartyMe[5971:140222] [MC] System group container for systemgroup.com.apple.configurationprofiles path is /Users/tristan/Library/Developer/CoreSimulator/Devices/A3B7A939-B669-40A5-906A-8F389D1148E9/data/Containers/Shared/SystemGroup/systemgroup.com.apple.configurationprofiles
2019-07-01 19:52:54.240366-0500 PartyMe[5971:140222] Using UIWebView
2019-07-01 19:52:54.243144-0500 PartyMe[5971:140222] [CDVTimer][console] 0.074029ms
2019-07-01 19:52:54.243364-0500 PartyMe[5971:140222] [CDVTimer][handleopenurl] 0.078917ms
2019-07-01 19:52:54.245225-0500 PartyMe[5971:140222] [CDVTimer][intentandnavigationfilter] 1.726031ms
2019-07-01 19:52:54.245442-0500 PartyMe[5971:140222] [CDVTimer][gesturehandler] 0.073075ms
2019-07-01 19:52:54.245564-0500 PartyMe[5971:140222] [CDVTimer][TotalPluginStartup] 2.563000ms
2019-07-01 19:52:54.258490-0500 PartyMe[5971:140222] DidFinishLaunchingWithOptions
2019-07-01 19:52:54.275: <FIRMessaging/INFO> FIRMessaging library version 1.2.0
2019-07-01 19:52:54.286446-0500 PartyMe[5971:140300] [Firebase/Core][I-COR000001] Configuring the default app.
2019-07-01 19:52:54.286 PartyMe[5971] <Debug> [Firebase/Core][I-COR000001] Configuring the default app.
2019-07-01 19:52:54.288233-0500 PartyMe[5971:140305] <FIRAnalytics/INFO> Firebase Analytics v.3403000 started
2019-07-01 19:52:54.293: <FIRInstanceID/WARNING> FIRInstanceID AppDelegate proxy enabled, will swizzle app delegate remote notification handlers. To disable add "FirebaseAppDelegateProxyEnabled" to your Info.plist and set it to NO
2019-07-01 19:52:54.293: <FIRInstanceID/WARNING> Failed to fetch APNS token Error Domain=com.firebase.iid Code=1001 "(null)"
2019-07-01 19:52:54.296: <FIRMessaging/WARNING> FIRMessaging AppDelegate proxy enabled, will swizzle app delegate remote notification receiver handlers. Add "FirebaseAppDelegateProxyEnabled" to your Info.plist and set it to NO
2019-07-01 19:52:54.289 PartyMe[5971:] <FIRAnalytics/INFO> Firebase Analytics v.3403000 started
2019-07-01 19:52:54.301666-0500 PartyMe[5971:140305] <FIRAnalytics/INFO> To enable debug logging set the following application argument: -FIRAnalyticsDebugEnabled (see http://goo.gl/Y0Yjwu)
2019-07-01 19:52:54.303 PartyMe[5971:] <FIRAnalytics/INFO> To enable debug logging set the following application argument: -FIRAnalyticsDebugEnabled (see http://goo.gl/Y0Yjwu)
2019-07-01 19:52:54.315: <FIRInstanceID/WARNING> Failed to fetch APNS token Error Domain=NSCocoaErrorDomain Code=3010 "remote notifications are not supported in the simulator" UserInfo={NSLocalizedDescription=remote notifications are not supported in the simulator}
2019-07-01 19:52:54.318478-0500 PartyMe[5971:140222] app become active
2019-07-01 19:52:54.537283-0500 PartyMe[5971:140305] [BoringSSL] Function boringssl_context_get_peer_sct_list: line 1757 received sct extension length is less than sct data length
=================================================================
Main Thread Checker: UI API called on a background thread: -[UIApplication delegate]
PID: 5971, TID: 140299, Thread name: (none), Queue name: FIRAnalyticsQueue, QoS: 9
Backtrace:
4   PartyMe                             0x0000000106cc93d6 __38+[FIRAnalytics createAppDelegateProxy]_block_invoke + 53
5   libdispatch.dylib                   0x000000010b71f43c _dispatch_client_callout + 8
6   libdispatch.dylib                   0x000000010b7209c7 dispatch_once_f + 297
7   PartyMe                             0x0000000106cc83d0 __47+[FIRAnalytics startWithConfiguration:options:]_block_invoke_2 + 101
8   libdispatch.dylib                   0x000000010b71e3f7 _dispatch_call_block_and_release + 12
9   libdispatch.dylib                   0x000000010b71f43c _dispatch_client_callout + 8
10  libdispatch.dylib                   0x000000010b72795b _dispatch_queue_serial_drain + 1162
11  libdispatch.dylib                   0x000000010b7282df _dispatch_queue_invoke + 336
12  libdispatch.dylib                   0x000000010b72b1f9 _dispatch_root_queue_drain + 772
13  libdispatch.dylib                   0x000000010b72ae97 _dispatch_worker_thread3 + 132
14  libsystem_pthread.dylib             0x000000010bbea6ee _pthread_wqthread + 619
15  libsystem_pthread.dylib             0x000000010bbea415 start_wqthread + 13
2019-07-01 19:52:54.718564-0500 PartyMe[5971:140299] [reports] Main Thread Checker: UI API called on a background thread: -[UIApplication delegate]
PID: 5971, TID: 140299, Thread name: (none), Queue name: FIRAnalyticsQueue, QoS: 9
Backtrace:
4   PartyMe                             0x0000000106cc93d6 __38+[FIRAnalytics createAppDelegateProxy]_block_invoke + 53
5   libdispatch.dylib                   0x000000010b71f43c _dispatch_client_callout + 8
6   libdispatch.dylib                   0x000000010b7209c7 dispatch_once_f + 297
7   PartyMe                             0x0000000106cc83d0 __47+[FIRAnalytics startWithConfiguration:options:]_block_invoke_2 + 101
8   libdispatch.dylib                   0x000000010b71e3f7 _dispatch_call_block_and_release + 12
9   libdispatch.dylib                   0x000000010b71f43c _dispatch_client_callout + 8
10  libdispatch.dylib                   0x000000010b72795b _dispatch_queue_serial_drain + 1162
11  libdispatch.dylib                   0x000000010b7282df _dispatch_queue_invoke + 336
12  libdispatch.dylib                   0x000000010b72b1f9 _dispatch_root_queue_drain + 772
13  libdispatch.dylib                   0x000000010b72ae97 _dispatch_worker_thread3 + 132
14  libsystem_pthread.dylib             0x000000010bbea6ee _pthread_wqthread + 619
15  libsystem_pthread.dylib             0x000000010bbea415 start_wqthread + 13
2019-07-01 19:52:54.795224-0500 PartyMe[5971:140222] Resetting plugins due to page load.
2019-07-01 19:52:54.799318-0500 PartyMe[5971:140300] <FIRAnalytics/INFO> Successfully created Firebase Analytics App Delegate Proxy automatically. To disable the proxy, set the flag FirebaseAppDelegateProxyEnabled to NO in the Info.plist
2019-07-01 19:52:54.799 PartyMe[5971:] <FIRAnalytics/INFO> Successfully created Firebase Analytics App Delegate Proxy automatically. To disable the proxy, set the flag FirebaseAppDelegateProxyEnabled to NO in the Info.plist
2019-07-01 19:52:54.843018-0500 PartyMe[5971:140326] [Firebase/Core][I-COR000019] Clearcut post completed.
2019-07-01 19:52:54.847 PartyMe[5971] <Debug> [Firebase/Core][I-COR000019] Clearcut post completed.
2019-07-01 19:52:54.849376-0500 PartyMe[5971:140299] TIC Read Status [1:0x0]: 1:57
2019-07-01 19:52:54.849532-0500 PartyMe[5971:140299] TIC Read Status [1:0x0]: 1:57
2019-07-01 19:52:54.974676-0500 PartyMe[5971:140222] Connected to FCM.
2019-07-01 19:52:55.541531-0500 PartyMe[5971:140326] <FIRAnalytics/INFO> Firebase Analytics enabled
2019-07-01 19:52:55.541 PartyMe[5971:] <FIRAnalytics/INFO> Firebase Analytics enabled
2019-07-01 19:52:55.668442-0500 PartyMe[5971:140222] Finished load of: file:///Users/tristan/Library/Developer/CoreSimulator/Devices/A3B7A939-B669-40A5-906A-8F389D1148E9/data/Containers/Bundle/Application/3DB3DE6B-AD42-4C9E-992E-3F54F1A87B75/PartyMe.app/www/index.html
2019-07-01 19:52:55.676892-0500 PartyMe[5971:140222] Cordova view ready
2019-07-01 19:52:55.682611-0500 PartyMe[5971:140222] FCMPlugin.js: is created
2019-07-01 19:52:55.682768-0500 PartyMe[5971:140222] FCMPlugin Ready OK

XCode Version: 10.1
Ionic Version: 5.2.0
Cordova Version: 8.1.2

The same behavior is seen in the simulator as well as on a physical device. This is getting extremely frustrating. I should note that I have also run into build issues such as the GoogleService-Info.plist being copied twice from the bundle resources, and having to change the base href in the app’s index.html file from “/” to “./”.

Any help is appreciated.

Hi I am also facing this particular issue. Did you had any chances in solving this? if so please let me know. Thanks in advance

I did. In my particular case it was because of some Regex I had in the app that used negative look behind. It didn’t matter where in the app the Regex was, it caused iOS to fail to load.

Here’s the SO where I asked how to fix my regex to be iOS compliant. https://stackoverflow.com/questions/56926806/how-to-make-this-regex-safari-ios-compliant

It’s a very specific issue, but maybe it also happens to be yours too.