3

メインビューの1つがであるアプリで奇妙な問題に直面していますUIWebView。このアプリにはUIKit、ナビゲーションコントローラー内にログインビューコントローラー(のみ)があり、ログインが成功すると、メインビューコントローラーがプッシュされます。メインビューコントローラーには、UIWebViewおよびその他のコントロールが含まれています。webViewKindle Cloud Reader(http://read.amazon.com)をロードして表示します。

この問題は、ログイン画面でアプリがバックグラウンド/切り替えられた場合(ユーザーがホームを押したとき、または通常のFacebookログインフロー中に)に発生します。この特定のケースでは、Kindleリーダーが読み込まれることはありません(ログイン後にUIWebViewが作成された場合でも)。Webビューが既に作成された後にアプリがバックグラウンドで実行されている場合、問題は発生しません。

Safariのデバッグを通じて問題をさらに調査すると、問題はjavascriptエラーによって引き起こされているようです。"SECURITY_ERR: DOM Exception 18: An attempt was made to break through the security policy of the user agent."このエラーはコマンドに関連していopenDatabaseます。

この問題はhttps://issues.apache.org/jira/browse/CB-330に関連しているようです。iOS 5以降のすべてのバージョンは、デバイスとシミュレータの両方に影響します。

何かご意見は?

4

1 に答える 1

1

私も同じ問題に直面しました。なぜこれが起こっているのか分かりません。しかし、これに対する回避策を見つけました。

これを試して

  • (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

    [UIWebView new];

    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

    //アプリケーションの起動後にカスタマイズのためにポイントをオーバーライドします。self.viewController = [[LoginViewController alloc] initWithNibName:@ "LoginViewController" bundle:nil];

    self.window.rootViewController = self.viewController;

    [self.window makeKeyAndVisible];

    YESを返します。

}

[UIWebViewnew]を追加しました。didFinishLaunchingWithOptionsデリゲートメソッドのステートメント。これで、「SECURITY_ERR:DOMException18」は発生しなくなります。

于 2013-03-12T06:41:02.390 に答える