-2

Safari で正常に動作する Web アプリがあります (ローカル ストレージを使用し、設定を保存して復元します)。

Web アプリをロードする Xcode 4.5.2 で Web ビューを作成しました。デフォルトでは、Web ビューはローカル ストレージをサポートしていないことを知っているので、それを有効にするコードを追加しましたが、今ではアプリがまったく機能しません。

AppDelegate.m の私のコード:

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {

    WebPreferences *prefs = [WebView preferences];.
    [prefs _setLocalStorageDatabasePath:@"~/Library/TestApp/LocalStorage"];


    NSString *path = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"html"];
    NSURL* fileURL = [NSURL fileURLWithPath:path];
    NSURLRequest* request = [NSURLRequest requestWithURL:fileURL];
    [self.webView.mainFrame loadRequest:request];
}

@end

この部分は、ローカル ストレージを有効にするために追加したものです。

    WebPreferences *prefs = [WebView preferences];.
    [prefs _setLocalStorageDatabasePath:@"~/Library/TestApp/LocalStorage"];

次のエラーが表示されます:「期待される式」-「セレクター「設定」の既知のクラスメソッドはありません

4

1 に答える 1

3

-preferencesは のインスタンス メソッドでWebViewあり、クラス メソッドではありません。WebPreferences *prefs = [self.webView preferences]の設定を取得する必要がありますWebView。を呼び出すだけでなく、ローカル ストレージが有効になっていることを確認するため-[WebPreferences _setLocalStorageDatabasePath:]にも呼び出す必要があると思います。-[WebPreferences setLocalStorageEnabled:]

于 2013-02-14T07:09:59.613 に答える