モバイル Safari では Web サイトがクラッシュしますが、デスクトップでは問題なく動作します。
クラッシュする理由を特定するにはどうすればよいですか?
モバイル Safari では Web サイトがクラッシュしますが、デスクトップでは問題なく動作します。
クラッシュする理由を特定するにはどうすればよいですか?
Safari が予期せず終了し、Web サイトが表示されなくなった場合にできること:
1. Safari デバッグ コンソール
Safari のデバッグ コンソールを使用します。iPhone で電源を入れます: [設定] -> [Safari] -> [詳細設定] -> [デバッグ コンソール] = [オン]。
私にとってそれは言う
次にSafariを使用してWebページをチェックすると、デバッグコンソールが表示されます。
2. Web インスペクタ (iOS 6.0 以降)
Web ページの問題を見つけるのがより複雑になっている場合は、Web インスペクターを使用して Mobile Safari をデバッグします。これは素晴らしいチュートリアルです。
IOS Simulator を使用すると、この特定の Web サイトでは、5.0、5.1、および 6.1 のすべての iOS バージョンで、ページがクラッシュしてページが正しく実行されますが、デバイス (iOS 5.0.1) ではまだクラッシュすることがわかりました。
私のデバイスは iOS 5 で実行されているため、Web Inspector にアクセスできませんが、次のステップとして、デバイスでサイトを確認し、マシンで Web Inspector を確認してください。
3. iPhone 構成ユーティリティのコンソールを使用する
Apple のiPhone Configuration Utilityをダウンロードすると、Safari テスト中にモバイルのコンソールにアクセスできます。
サイトを確認すると、最終的に Safari のクラッシュにつながるいくつかのメモリ警告が表示されます。
4a. Xcode のデバッグ機能を使用する
Xcode を使用して、デバイスのコンソールにアクセスすることもできます ([ウィンドウ] -> [オーガナイザー] -> [デバイス] タブ -> [コンソール])。
あなたのケースはコンソールで次のように報告されました:
Apr 30 10:15:18 unknown kernel[0] <Debug>: launchd[2489] Builtin profile: MobileSafari (sandbox)
Apr 30 10:15:38 unknown MobileSafari[2489] <Warning>: Received memory warning.
Apr 30 10:15:39 unknown SpringBoard[15] <Warning>: Received memory warning.
Apr 30 10:15:50 unknown UserEventAgent[12] <Notice>: jetsam: kernel termination snapshot being created
Apr 30 10:15:50 unknown com.apple.launchd[1] <Notice>: (UIKitApplication:com.apple.mobilephone[0xb2a4]) Exited: Killed: 9
Apr 30 10:15:50 unknown com.apple.launchd[1] <Notice>: (UIKitApplication:com.apple.mobilesafari[0xf755]) Exited: Killed: 9
Apr 30 10:15:50 unknown SpringBoard[15] <Warning>: Application 'Phone' exited abnormally with signal 9: Killed: 9
Apr 30 10:15:50 unknown SpringBoard[15] <Warning>: Application 'Safari' exited abnormally with signal 9: Killed: 9
Apr 30 10:15:52 unknown ReportCrash[2491] <Error>: Saved crashreport to /Library/Logs/CrashReporter/LowMemory-2013-04-30-101552.plist using uid: 0 gid: 0, synthetic_euid: 0 egid: 0
4b. Xcode のデバッグ機能である Instruments を使用する
何が起こっているかを確認するもう 1 つの洗練された方法は、Instruments を使用することです。
サイトを再度確認すると、Safari が終了する前にメモリ不足の警告が多数表示されます。残念ながら、Web サイトの問題を発見するのに直接役立つわけではありませんが、Safari で開いているバグ レポートを見つけるのに役立つかもしれません。
次のようにして、クラッシュのデバッグに成功しました。
コンソールでクラッシュを見つけます。私の場合は次のようになります。
9 月 2 日 17:16:21 Edwards-iPhone ReportCrash[7093]: レポートを /Library/Logs/CrashReporter/JetsamEvent-2015-09-02-171621.ips に保存しました
次に、設定の [診断] ([設定] > [プライバシー] > [診断と使用状況データ] - iOS 8.4 の場合。他のバージョンでは別の場所にあります) に移動し、クラッシュ ファイルを見つけます。
これにより、どのクラッシュ レポートが経験したものかを推測する必要がなくなります。