-2

我有一个在 Safari 中运行良好的网络应用程序(它使用本地存储并保存设置并恢复它们)。

我在 Xcode 4.5.2 中创建了一个加载我的网络应用程序的网络视图。我知道默认情况下 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 回答