1

UIWebView 要素を介して Web コンテンツを利用するかなり基本的な iOS アプリを作成しました。アプリは、顧客向けの小売環境で実行されているため、ガイド付きアクセス モードで実行する必要があります。

iOS 7 では問題なく動作していましたが、iOS 8 にアップデートしてから、「ガイド付きアクセスが有効になっています。ホーム ボタンを 3 回クリックして終了します」というアラートが、Web ページのリンクをタップするたびに画面上部に表示されます。

UIWebView 要素しか含まれていない新しいアプリをゼロから作成しようとしましたが、問題は引き続き発生します。Apple にバグを報告しましたが、アラートが顧客に表示されないように、この問題を回避する方法を早急に探しています。

4

2 に答える 2

1

Kiosk Pro App の Chris のおかげで回避策を見つけました。

ナビゲーション タイプ「UIWebViewNavigationTypeLinkClicked」のすべてのリクエスト (ガイド付きアクセスがオンの場合のみ) をナビゲーション タイプ「UIWebViewNavigationTypeOther」に変換する必要があります。

この回避策の問題の 1 つは、「フォーム送信済み」および「フォーム再送信済み」タイプを使用するリンクに対してガイド付きアクセス メッセージが引き続き表示されることです。これらの型を変換しようとすると、ページの読み込みでエラーが発生する可能性があります。

以下は、Adaptive Channel の Blandine による実装です。

メソッド内:

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {

追加するだけです:

if (UIAccessibilityIsGuidedAccessEnabled()) {
        if (navigationType == UIWebViewNavigationTypeLinkClicked ) {
            navigationType = UIWebViewNavigationTypeOther;
            [webView loadRequest:request];
            return NO;
        }
}

それが役に立てば幸い。

于 2014-12-11T23:26:46.523 に答える
0

最終的に回避策を見つけました:UIWebViewからWKWebViewに移行!!! 私のために働く!

于 2014-12-11T09:27:24.527 に答える