4

TestFlight で Cordova (iOS エンジン 4.4.0) を使用して開発された iOS アプリがあります。最新の iOS 12 ベータ版を除いて、すべてうまく機能します。

ユーザーは、アプリが iOS 12 (iPhoneX) でランダムに再起動することを報告しました。これはランダムに発生し、DOM とのユーザー インタラクションによってトリガーされる可能性がありますが、常に発生するわけではありません。

自作のiPhone6SでiOS12でテストして再現していないのでiPhoneX+iOS12特有なのかな。

ユーザーはアプリのクラッシュ レポートを持っていないため、実際のアプリのクラッシュではなく、WebView がページをリロードしていると思います (単一ページのアプリです)。

これは、他のデバイスや iOS バージョンでは発生しません - 他の誰かがこれを経験したか、解決策を持っていますか?

私の Cordova config.xml のメイン セクションは次のとおりです。

<content src="index.html" />
<preference name="BackupWebStorage" value="local" />
<feature name="CDVWKWebViewEngine">
    <param name="ios-package" value="CDVWKWebViewEngine" />
</feature>
<preference name="CordovaWebViewEngine" value="CDVWKWebViewEngine" />
<access origin="*" />
<allow-intent href="http://*/*" />
<allow-intent href="https://*/*" />
<allow-intent href="tel:*" />
<allow-intent href="sms:*" />
<allow-intent href="mailto:*" />
<allow-intent href="geo:*" />
<preference name="SplashScreen" value="screen" />
<preference name="SplashScreenDelay" value="3000" />
<preference name="KeepRunning" value="false" />
<preference name="Fullscreen" value="true" />
<platform name="android">
    <allow-intent href="market:*" />
    <icon density="ldpi" src="res/android/ldpi.png" />
    <icon density="mdpi" src="res/android/mdpi.png" />
    <icon density="hdpi" src="res/android/hdpi.png" />
    <icon density="xhdpi" src="res/android/xhdpi.png" />
    <icon density="xxhdpi" src="res/android/xxhdpi.png" />
    <icon density="xxxhdpi" src="res/android/xxxhdpi.png" />
    <splash density="land-hdpi" src="res/screen/android/drawable-land-hdpi.png" />
    <splash density="land-ldpi" src="res/screen/android/drawable-land-ldpi.png" />
    <splash density="land-mdpi" src="res/screen/android/drawable-land-mdpi.png" />
    <splash density="land-xhdpi" src="res/screen/android/drawable-land-xhdpi.png" />
    <splash density="land-xxhdpi" src="res/screen/android/drawable-land-xxhdpi.png" />
    <splash density="land-xxxhdpi" src="res/screen/android/drawable-land-xxxhdpi.png" />
    <splash density="port-hdpi" src="res/screen/android/drawable-port-hdpi.png" />
    <splash density="port-ldpi" src="res/screen/android/drawable-port-ldpi.png" />
    <splash density="port-mdpi" src="res/screen/android/drawable-port-mdpi.png" />
    <splash density="port-xhdpi" src="res/screen/android/drawable-port-xhdpi.png" />
    <splash density="port-xxhdpi" src="res/screen/android/drawable-port-xxhdpi.png" />
    <splash density="port-xxxhdpi" src="res/screen/android/drawable-port-xxxhdpi.png" />
</platform>
<platform name="ios">
    <allow-intent href="itms:*" />
    <allow-intent href="itms-apps:*" />
    <feature name="StatusBar">
        <param name="ios-package" onload="true" value="CDVStatusBar" />
    </feature>
    <icon height="180" src="res/ios/icon-60@3x.png" width="180" />
    <icon height="60" src="res/ios/icon-60.png" width="60" />
    <icon height="120" src="res/ios/icon-60@2x.png" width="120" />
    <icon height="76" src="res/ios/icon-76.png" width="76" />
    <icon height="152" src="res/ios/icon-76@2x.png" width="152" />
    <icon height="40" src="res/ios/icon-40.png" width="40" />
    <icon height="80" src="res/ios/icon-40@2x.png" width="80" />
    <icon height="57" src="res/ios/icon.png" width="57" />
    <icon height="114" src="res/ios/icon@2x.png" width="114" />
    <icon height="72" src="res/ios/icon-72.png" width="72" />
    <icon height="144" src="res/ios/icon-72@2x.png" width="144" />
    <icon height="167" src="res/ios/icon-167.png" width="167" />
    <icon height="29" src="res/ios/icon-small.png" width="29" />
    <icon height="58" src="res/ios/icon-small@2x.png" width="58" />
    <icon height="50" src="res/ios/icon-50.png" width="50" />
    <icon height="100" src="res/ios/icon-50@2x.png" width="100" />
    <icon height="167" src="res/ios/icon-83.5@2x.png" width="167" />
    <splash src="res/screen/ios/Default@2x~universal~anyany.png" />
</platform>
<plugin name="cordova-plugin-file" spec="^5.0.0" />
<plugin name="cordova-plugin-ionic-webview" spec="^1.1.14" />
<plugin name="cordova-plugin-splashscreen" spec="^4.1.0" />
<plugin name="cordova-plugin-statusbar" spec="^2.2.2" />
<plugin name="cordova-plugin-whitelist" spec="^1.3.1" />
<plugin name="cordova-plugin-screen-orientation" spec="^3.0.1" />
<engine name="ios" spec="^4.4.0" />
4

1 に答える 1

0

Cordova アプリでもこの問題に遭遇し、解決するのに何年もかかりました。

最近 wkwebview に切り替えた後、ファイルのアップロードが完了する前に、アプリのファイル アップローダー ページが頻繁に再読み込みを開始しました。これは、iPhone X と iOS 12 のユーザーにのみ発生しました。私たちの場合、Bootstrap スピナー コントロールを変更すると問題が解決しました。クレイジーに思えます... しかし、コンポーネントを変更すると、問題はなくなりました。

于 2019-10-31T01:51:15.610 に答える