私は (実際に私の雇用主が持っています) Safari 統合 (iPhone および iPad 用) を有効にするモバイル Web サイトを持っています。つまり、顧客はそれをホーム画面にブックマークして、スタンドアロンの Web アプリとして動作します (アドレスバーなし、カスタムアイコン、起動イメージなど)。
1 週間前 (偶然にも Apple が iOS 6.1.2 をリリースした直後) の一部のお客様 (最初は 6 人) が、通常のコンテンツが表示されなくなり、公共 Wi-Fi の「404 ページ」が表示されるという不満を除いては、問題なく動作します。プロバイダー (ここ英国では Sky が所有するクラウド)。少し調査した結果、ある時点で、これらの顧客が実際にログインせずにクラウド Wi-Fi に接続したことがわかりました (これは、ログイン ページにリダイレクトして資格情報を入力し、その後ブラウジングを続けることができるプロバイダーの 1 つです)。 )。問題は、プライベート Wi-Fi またはモバイル データ接続に切り替えた後でも、アプリケーションがクラウドのページを表示することです。
これは、アプリケーションがブックマークを介して起動された場合にのみ発生します (サファリから使用する場合、この動作は確認できませんでした)。
何が起こるかというと、顧客は (ログインせずに) クラウド Wi-Fi に接続し、アプリケーションを開き、その時点でルーターがログイン ページにリダイレクト応答を発行します。アプリケーションはログインページをキャッシュし、ブックマークを再度使用するたびに常に表示します。(これが発生したときにキャプチャを実行しましたが、起動時にリクエストがまったく行われていません)。
さらに奇妙なことに、この状況では、既存のブックマークを削除して新しいブックマークを追加すると、キャッシュされた同じページが表示されます (操作全体がクラウドから離れて実行されます)。ブックマーク画面にアクセスするたびに一意の識別子を URL に追加することで、これを修正しました (これは、Web アプリのサンドボックスが URL にリンクされていることを示しています)。
私たちが達成しようとしているのは、顧客がクラウドから離れた後、アプリケーションを適切に回復させることです。しかし、これを行う簡単な方法はないようです。
さらに、これらすべてに一定レベルの矛盾があります。ほとんどの場合、フローが実行されると 404 ページ (カスタム 404 ページhttps://service.thecloud.net/service-platform ) が表示されますが、場合によっては表示されることもあります。ログイン ページに適切にリダイレクトされます。この場合、アプリケーションは壊れません。
私の推測では、スタンドアロン Web アプリ アプリケーション モデルに奇妙な競合状態があり、ブラウザーがリダイレクトを適切に処理しない (実際には 404 ページをキャッシュする) ことが原因であると考えられます。Apple にサポート インシデントを報告しましたが (最終的にはバグ レポートになりました)、しばらく時間がかかる可能性があるため、回避策を見つけるために最善を尽くしています。
アイデアはありますか、誰かがこれを以前に見たことがありますか?問題は、修正をテストするたびに 5 分間歩く必要があるという事実によって悪化します。簡単なテスト フォームを作成してみましたが、問題を再現できませんでした。完全なアプリの場合と同様に、ほぼ毎回実行できます。
再現手順の概要は次のとおりです。
- プライベートwifi(またはモバイルデータ接続)を介して、ウェブサイトにブックマークを追加します(上記のように、サファリ統合をサポートするかなりの数のアプリでそれを再現できました)
- アプリケーションを開いて通常のコンテンツを確認する
- クラウド ホットスポットに接続し、ブックマークからアプリケーションを開きます (404 がすぐに表示されない場合は、数回開いて閉じます)。
- プライベート Wi-Fi (またはモバイル データ接続) に接続し、ブックマークからアプリケーションを開きます -> 同じ 404 ページが再び表示されます