Live reload iOS gets stuck on splash screen on both emulator and device after Big Sur upgrade

Hi all,

I am having issues getting live reload to work after upgrading my macOS to Big Sur (11.4) and Xcode 12.5.1. I can run my app on an emulator or device just fine if I use ionic build && npx cap copy and I do not get any errors. However, when I try to run using live reload everything builds fine and the app opens but it gets stuck on the splash screen (or sometimes a white screen). I do not see any errors in the Xcode console or in Safari web inspector. Sometimes I am able to get past the splash screen if I re-run the app a few times (the behavior is unpredictable) but then when I change anything in my app code the app will disconnect from the live reload server.

My question is how do I go about debugging this issue? This is functionality that used to work for me without any problems.

Ionic info:

Ionic:

   Ionic CLI                     : 6.16.3 (/usr/local/lib/node_modules/@ionic/cli)
   Ionic Framework               : @ionic/angular 5.6.12
   @angular-devkit/build-angular : 12.0.5
   @angular-devkit/schematics    : 12.0.3
   @angular/cli                  : 12.0.5
   @ionic/angular-toolkit        : 4.0.0

Capacitor:

   Capacitor CLI      : 3.1.2
   @capacitor/android : 3.1.2
   @capacitor/core    : 3.1.2
   @capacitor/ios     : 3.1.2

Utility:

   cordova-res : 0.15.3
   native-run  : 1.4.0

System:

   NodeJS : v14.17.3 (/usr/local/Cellar/node@14/14.17.3/bin/node)
   npm    : 6.14.13
   OS     : macOS Big Sur

From what I can tell this seems like some sort of race condition from the external server. The server doesn’t appear to be loaded when the app starts and it gets stuck on the splash screen. If I go to the external server in the Safari browser on my simulator I see that the page is loaded correctly. Then when I make a change to the code the browser reloads and displays a blank white page and then nothing. I have to manually refresh the browser to get the page to show up.

Also when I change the code I see this error in the Safari web inspector
Failed to load resource: Cancelled load from 'http://192.168.1.89:8100/main.js' because it is using HTTP/0.9.

Anyone have any ideas on how to resolve this?

This, unfortunately, is a bit of an overloaded term. Can you specify the precise command(s) you are using that cause the problematic behavior to present?

ionic capacitor run ios -l --external

If you look back at whatever logs you found the message complaining about HTTP/0.9, can you find any mention of the term “sandbox” in there?

No mention of “sandbox” anywhere. The HTTP/0.9 message is the only error that displays in the console. If I check the network tab it just says ‘An error occurred while trying to load the resource’ with no response. I am able to use ionic serve perfectly fine and don’t get any errors so I don’t think the issue is with the code. The issue only appears to present when accessing the app from the external address.

The reason I asked is because of this Safari issue. It’s admittedly four years old, but still seems to be dominating much of the reported chatter I can find. If you don’t get any better answers here, I think raising an issue with @ionic/cli might be another reasonable step to take.