【发布时间】:2012-05-15 22:23:44
【问题描述】:
据我所知,如果您正在构建 OSX 桌面 HTML5 应用程序并希望 localStorage 保留在您的 WebView 包装器中,您需要执行以下操作:
WebPreferences* prefs = [webView preferences];
[prefs _setLocalStorageDatabasePath:@"~/Library/Application Support/MyApp"];
[prefs setLocalStorageEnabled:YES];
取自:How do I enable Local Storage in my WebKit-based application?
但这在 Xcode 4.3 中似乎对我不起作用。相反,我得到了
"No visible @interface for 'WebPreferences' declares the selector '_setLocalStorageDatabasePath:'
"No visible @interface for 'WebPreferences' declares the selector 'setLocalStorageEnabled:'
我对 Objective C 很陌生,可能正在做一些愚蠢的事情,比如不包括一些标题或其他东西。
我已经包含了 WebKit 框架和这两个标头:
#import <WebKit/WebKit.h>
#import <WebKit/WebPreferences.h>
奇怪的是我可以访问其他首选项方法,即[prefs setDefaultFontSize:10] - 但不能访问我列出的上述两个方法。
有什么想法吗?这是在 Xcode 4.3 中删除的东西吗?
【问题讨论】:
-
错误信息说没有声明 _setLocalStorageDatabasePath: - 并不是说如果你调用它就不起作用。如果你调用它可能会起作用,然后当 Apple 发布 10.8 或 10.7.5 时,它可能会停止工作。很可能您无论如何都不想使用它们。
-
@TomAndersen 不,它实际上不会编译。请注意,“setLocalStorageEnabled”方法也不起作用 - 这甚至不是私有方法。
-
你可以在 cocoa 中调用任何东西:例如取一个 NSString aString,然后是 [aString thisIsACallThatWillNotWork];应该编译,并在运行时导致崩溃。也许您正在使用不同的编译器设置。
标签: objective-c macos webkit local-storage xcode4.3