Ionic v1 iOS 9.3 White Screen using Tabs Starter


#1

ALL v1 apps that I maintain don’t work on iPhone 4s, iPad 2 or other iOS 9.3 and older devices. I get a white screen (of death). I’ve tried updating cordova plugins, checking javascript and even gutting the apps. Even starting a brand new Ionic v1 Tabs Starter (current 2017-12-01) doesn’t work either. Each app DOES work for newer devices (iOS 10-11). None of the common “white screen” fixes is helping. It does not appear to be Content Security Policy or Whitelist Plugin issue.

Note: The safari developer tools are useless until app is running. Xcode debugging is not helpful. Running app from command line _ionic cordova run ios -lc --verbose_ doesn’t give any helpful output either. I have seen in Xcode a sigkill message once, but not again.

If it were android, this would be easy with remote debugger. But safari’s isn’t loadable until app is running. In this case, the safari debugger only see’s the device’s “about: blank” page.

My question is: Do you know how to identify the problem? If not - can you attempt to confirm ionic v1 starter tabs does work on an older iOS 9.x device (like iPhone 4s)? Or do you have the same issue on your development machine?

My environment:
Java build 1.8.0_112-b16
cli packages: (/usr/local/lib/node_modules)
@ionic/cli-utils : 1.19.0
ionic (Ionic CLI) : 3.19.0

global packages:
cordova (Cordova CLI) : 7.1.0
Gulp CLI : CLI version 3.9.1 Local version 3.9.1

local packages:
Cordova Platforms : ios 4.5.4
Ionic Framework : ionic1 1.3.4

System:
ios-deploy : 1.9.2
Node : v8.9.1
npm : 5.5.1
OS : macOS High Sierra
Xcode : Xcode 9.1 Build version 9B55

Here is last bit of output from running _ionic cordova run ios -lc --verbose_
(lldb) platform select remote-ios --sysroot '/Users/troyhoward/Library/Developer/Xcode/iOS DeviceSupport/9.3.5 (13G36)/Symbols’
Platform: remote-ios
Connected: no
SDK Path: “/Users/troyhoward/Library/Developer/Xcode/iOS DeviceSupport/9.3.5 (13G36)/Symbols”
(lldb) target create “/Users/troyhoward/apps/v1test/platforms/ios/build/device/v1test.app"
Current executable set to ‘/Users/troyhoward/apps/v1test/platforms/ios/build/device/v1test.app’ (arm64).
(lldb) script fruitstrap_device_app=”/private/var/containers/Bundle/Application/523B10AC-3DB5-421E-8CB3-1136069BA1F6/v1test.app"
(lldb) script fruitstrap_connect_url=“connect://127.0.0.1:51388”
(lldb) target modules search-paths add /usr “/Users/troyhoward/Library/Developer/Xcode/iOS DeviceSupport/9.3.5 (13G36)/Symbols/usr” /System “/Users/troyhoward/Library/Developer/Xcode/iOS DeviceSupport/9.3.5 (13G36)/Symbols/System” “/private/var/containers/Bundle/Application/523B10AC-3DB5-421E-8CB3-1136069BA1F6” “/Users/troyhoward/apps/v1test/platforms/ios/build/device” “/var/containers/Bundle/Application/523B10AC-3DB5-421E-8CB3-1136069BA1F6” “/Users/troyhoward/apps/v1test/platforms/ios/build/device” /Developer “/Users/troyhoward/Library/Developer/Xcode/iOS DeviceSupport/9.3.5 (13G36)/Symbols/Developer”
(lldb) command script import “/tmp/A909EC94-13F7-4B9B-A146-84B9FF0B4269/fruitstrap_f51081d8addfb1cc0027f31c1dab44c5a0bf3e21.py”
(lldb) command script add -f fruitstrap_f51081d8addfb1cc0027f31c1dab44c5a0bf3e21.connect_command connect
(lldb) command script add -s asynchronous -f fruitstrap_f51081d8addfb1cc0027f31c1dab44c5a0bf3e21.run_command run
(lldb) command script add -s asynchronous -f fruitstrap_f51081d8addfb1cc0027f31c1dab44c5a0bf3e21.autoexit_command autoexit
(lldb) command script add -s asynchronous -f fruitstrap_f51081d8addfb1cc0027f31c1dab44c5a0bf3e21.safequit_command safequit
(lldb) connect
(lldb) run
success
(lldb) safequit