ionic-team / ionic-team/ionic-framework
bug: ionic angular iOS app cannot restart normally after being left in the background for a long time
- Lenguaje dominante
- TypeScript
- Estrellas
- 52.7k
- Forks
- 13.3k
- Merge medio
- 1 d 15 h
- PR fusionados (30 d)
- 51
Descripción
### Prerequisites
- [X] I have read the [Contributing Guidelines](https://github.com/ionic-team/ionic-framework/blob/main/docs/CONTRIBUTING.md#creating-an-issue).
- [X] I agree to follow the [Code of Conduct](https://ionicframework.com/code-of-conduct).
- [X] I have searched for [existing issues](https://github.com/ionic-team/ionic-framework/issues) that already report this problem, without success.
### Ionic Framework Version
v7.x
### Current Behavior
ionic angular iOS app cannot restart normally after being left in the background for a long time, app that cannot be launched success.
I check the ios code, there is a function for iOS WKWebview: webViewWebContentProcessDidTerminate, and there is reload function inside, Most of the time, it is useful.
I checked the log and I found the WKWebview try to reload, but not start success
Here is the crash log
2024-11-19 02:19:57.551742-0500 Appname[4435:194348] [Process] 0x10e0800c0 - GPUProcessProxy::didClose:
2024-11-19 02:19:57.554156-0500 Appname[4435:194348] [Process] 0x10e0800c0 - GPUProcessProxy::gpuProcessExited: reason=Crash
2024-11-19 02:19:57.557285-0500 Appname[4435:194348] [Process] 0x10f001560 - [PID=4437] WebProcessProxy::gpuProcessExited: reason=Crash
2024-11-19 02:19:57.564363-0500 Appname[4435:194548] [connection] nw_read_request_report [C1] Receive failed with error "Software caused connection abort"
2024-11-19 02:19:57.567280-0500 Appname[4435:194548] [connection] nw_read_request_report [C2] Receive failed with error "Software caused connection abort"
2024-11-19 02:19:57.585899-0500 Appname[4435:194348] [Process] 0x10f000470 - NetworkProcessProxy::didClose (Network Process 0 crash)
2024-11-19 02:19:57.591085-0500 Appname[4435:194348] [Process] 0x10f001560 - [PID=4437] WebProcessProxy::didClose: (web process 0 crash)
2024-11-19 02:19:57.591239-0500 Appname[4435:194348] [Process] 0x10f001560 - [PID=4437] WebProcessProxy::processDidTerminateOrFailedToLaunch: reason=Crash
2024-11-19 02:19:57.591894-0500 Appname[4435:194348] [ProcessSuspension] 0x10e020120 - ProcessAssertion: Failed to acquire RBS Background assertion 'XPCConnectionTerminationWatchdog' for process because PID 0 is invalid
2024-11-19 02:19:57.592597-0500 Appname[4435:194548] [ProcessSuspension] 0x10e020120 - ProcessAssertion::acquireSync Failed to acquire RBS assertion 'XPCConnectionTerminationWatchdog' for process with PID=0, error: (null)
2024-11-19 02:19:57.603668-0500 Appname[4435:194348] [Process] 0x12a819018 - [pageProxyID=8, webPageID=9, PID=4437] WebPageProxy::processDidTerminate: (pid 4437), reason=Crash
2024-11-19 02:19:57.639244-0500 Appname[4435:194348] [Loading] 0x12a819018 - [pageProxyID=8, webPageID=9, PID=4437] WebPageProxy::dispatchProcessDidTerminate: reason=Crash
⚡️ TO JS {"error":"The request timed out."}
⚡️ TO JS {"isActive":true}
⚡️ TO JS {"isActive":true}
Error Domain=WKErrorDomain Code=4 "A JavaScript exception occurred" UserInfo={WKJavaScriptExceptionLineNumber=0, WKJavaScriptExceptionMessage=TypeError: undefined is not an object, WKJavaScriptExceptionColumnNumber=0, NSLocalizedDescription=A JavaScript exception occurred}
Error Domain=WKErrorDomain Code=4 "A JavaScript exception occurred" UserInfo={WKJavaScriptExceptionLineNumber=0, WKJavaScriptExceptionMessage=TypeError: undefined is not an object, WKJavaScriptExceptionColumnNumber=0, NSLocalizedDescription=A JavaScript exception occurred}
Error Domain=WKErrorDomain Code=4 "A JavaScript exception occurred" UserInfo={WKJavaScriptExceptionLineNumber=0, WKJavaScriptExceptionMessage=TypeError: undefined is not an object, WKJavaScriptExceptionColumnNumber=0, NSLocalizedDescription=A JavaScript exception occurred}
⚡️ [log] - onscript loading complete
To Native Cordova -> Badge load Badge1192008043 ["options": []]
To Native Cordova -> Device getDeviceInfo Device1192008044 ["options": []]
To Native Cordova -> File requestAllPaths File1192008045 ["options": []]
⚡️ WebView loaded
To Native Cordova -> AppRate getAppTitle AppRate1192008046 ["options": []]
To Native Cordova -> AppRate isNativePromptAvailable AppRate1192008047 ["options": []]
To Native Cordova -> NativeStorage getItem NativeStorage1192008048 ["options": [counter]]
To Native Cordova -> AppRate getAppVersion AppRate1192008049 ["options": []]
2024-11-19 02:20:27.598060-0500 Appname[4435:194348] Could not signal service com.apple.WebKit.WebContent: 113: Could not find specified service
### Expected Behavior
Hope the app can restart success
### Steps to Reproduce
open your app, push it to backend, then use you iphone normal. Tomorrow you will get an app that cannot be launched
### Code Reproduction URL
https://dashboard.ionicframework.com/create-app/0422bc6a
### Ionic Info
[WARN] Error loading @capacitor/android package.json: Error: Cannot find module '@capacitor/android/package.json'
Require stack:
- /usr/local/lib/node_modules/@ionic/cli/lib/project/index.js
- /usr/local/lib/node_modules/@ionic/cli/lib/index.js
- /usr/local/lib/node_modules/@ionic/cli/index.js
- /usr/local/lib/node_modules/@ionic/cli/bin/ionic
Ionic:
Ionic CLI : 7.2.0 (/usr/local/lib/node_modules/@ionic/cli)
Ionic Framework : @ionic/angular 8.4.0
@angular-devkit/build-angular : 18.2.12
@angular-devkit/schematics : 18.2.12
@angular/cli : 18.2.12
@ionic/angular-toolkit : 11.0.1
Capacitor:
Capacitor CLI : 6.2.0
@capacitor/android : not installed
@capacitor/core : 6.2.0
@capacitor/ios : 6.2.0
Utility:
cordova-res : not installed globally
native-run : 2.0.1
System:
NodeJS : v20.13.1 (/usr/local/bin/node)
npm : 10.5.2
OS : macOS Unknown
### Additional Information
_No response_
Guía de contribución
Evaluación
Este issue todavía no se ha evaluado.