11

私のプロトタイピング サービスは、スタンドアロンのインストール可能な iOS Web アプリを作成します。使用中にデバイスをロックすることがあります。

ホームボタンが機能しなくなり、アプリは引き続き機能します。以下は、デバイスのコンソールに繰り返し表示されます (xcode にアタッチして取得)。

Apr 25 14:34:57 SpringBoard[67] <Warning>: Unable to determine intended instance of com.apple.webapp. Resulting app will be undefined.

4

2 に答える 2

4

この原因はまだ不明であるため、iPhone 4s を使用した IOS 6 の HTML5 アプリでまったく同じ問題が発生していることをお伝えすることで貢献したいと考えました。私の場合、アプリはロックされません (まだ動作します) が、ホーム ボタンは機能しなくなります (あなたと Jens とまったく同じです)。タイミングはランダムで、一貫して複製するために私ができることとは関係がないようです。また、デバイスが物理的に横向き (iPhone 上) であっても、window.orientation は常に縦向きモードを誤って報告します。

UPDATE 12/15/2013
1) このバグの検出: iPhone でエラーが発生したときにトラップすることができました。私のアプリは横向きモードで動作し、通常はいつでも横向きに切り替えることができます。しかし、このバグをトラップするために、アプリが iPhone で実行されているかどうかを検出し、ユーザーがデバイスを横向きに回転して起動する必要があるロードブロッキング ページを表示するようになりました。この間、アプリはジャイロスコープがデバイスが正しく横向きモードであることを示しているかどうかを確認しますが、windows.orientation は (誤って) 縦向きであると示しています。これは、バグがトリガーされたときにのみ発生します。そのため、ユーザーに回復方法を伝える素敵なメッセージを表示できます。注: この方法は iPhone でのみ機能します... iPad で検出する方法はまだわかりません。

2) このバグの回避: 問題の発生を回避する 1 つの方法を見つけました (少し余分な作業を行います)。イベント ハンドラーの動作をクリーンアップした後、アプリを最初にロードしたときではなく、その後のアプリのロードでのみ問題が発生することに気付きました。また、アプリを閉じた後も、iOS の「タスク リスト」でまだ実行されていることに気付きました (これに対する適切な iOS 用語はわかりません)。

そのため、ホーム ボタンを 2 回押してタスク リストを表示し、スワイプして離します (完全に閉じます)。これに従った後、問題が再発したことはありません。追記: デバイスを再起動するだけでは十分ではありません (それでもハングアップするようです)。再起動後、タスク リストに2 回表示されることに気付きました(これは間違っているようで、内部で何が問題なのかの手がかりになる可能性があります)。いずれにせよ、再起動した場合は、アプリを開始する前に、必ずタスク リストに移動して、アプリのすべてのインスタンスを最初に削除してください。

于 2013-05-09T18:23:55.883 に答える