【问题标题】:Web View Not Saving HTML5 Local Storage SettingsWeb 视图不保存 HTML5 本地存储设置
【发布时间】:2013-02-14 03:25:53
【问题描述】:

我有一个在 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"];

我收到以下错误:“预期表达式”-“选择器“首选项”没有已知的类方法”

【问题讨论】:

  • 您是否为 Web 视图设置了代理?

标签: objective-c xcode webview


【解决方案1】:

-preferencesWebView 上的实例方法,而不是类方法。您需要执行WebPreferences *prefs = [self.webView preferences] 来检索您的WebView 的首选项。除了调用-[WebPreferences _setLocalStorageDatabasePath:],我相信您还想调用-[WebPreferences setLocalStorageEnabled:] 以确保启用本地存储。

【讨论】:

  • 我添加了以下代码:WebPreferences *prefs = [self.webView preferences]; -[WebPreferences _setLocalStorageDatabasePath:@"~/Library/TestApp/LocalStorage"]; -[WebPreferences setLocalStorageEnabled:];但它正在标记@“~/Library/TestApp/LocalStorage”并说“无效的参数类型'id'到一元表达式 - 选择器'_setLocalStorageDatabasePath:'没有已知的类方法:'
  • 我没有提供代码让您复制并粘贴到您的应用程序中,我提供了您需要发送的消息的名称以及您应该将它们发送到的对象类型。由您输入发送它们的代码。
  • 我按照本教程进行操作:lostdecadegames.com/… 用于较旧的 SDK,但我认为代码(我包含在我的问题中)只需要稍作修改,我没有意识到它是远去。
猜你喜欢
  • 2014-10-12
  • 1970-01-01
  • 2013-04-21
  • 2011-11-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-20
  • 1970-01-01
相关资源
最近更新 更多