我有一个嵌入WebKit WebView的Cocoa/Objective-C应用程序.我需要打开数据库支持和本地存储.我知道它可以完成 - 我在Safari中工作 - 但我找不到如何在我自己的应用程序中设置它的示例.
我发现这个(未答复的)SO问题提供了一个例子,但正如原始海报所提到的那样,它不起作用.事实上,他使用的方法(setDatabasesEnabled,setLocalStorageEnabled)没有在我的WebKit.framework(Xcode 3.2.5)中定义,尽管如果我自己定义它们似乎存在它们.
任何人都可以提供一个如何为基于WebKit的Cocoa应用程序启用本地数据库存储的示例吗?非常感谢如果是这样!
更新:我有一些工作......我对"数据库"与"本地存储"感到困惑,这显然是完全不同的东西.这是有效的代码:
WebPreferences* prefs = [webView preferences];
[prefs _setLocalStorageDatabasePath:@"~/Library/Application Support/MyApp"];
[prefs setLocalStorageEnabled:YES];
Run Code Online (Sandbox Code Playgroud)
这样可行,但它需要私有方法_setLocalStorageDatabasePath,这意味着我没有App Store.所以我现在修改过的问题是:有没有办法在不使用私有方法的情况下完成这项工作?我在这个答案中找到了WebDatabaseDirectory首选项键,它控制着数据库的位置.但我无法在源中的任何位置找到相应的本地存储密钥.或者有没有办法强制本地存储使用数据库,所以WebDatabaseDirectory键?有任何想法吗?
我的应用程序使用WebKit来显示web的预览,我想要禁止加载Acrobat等插件,主要是因为它可能导致的不可靠性,但也出于UI原因.
我知道我可以使用[WebPreferences setPlugInsEnabled:]来禁用插件,但我真的想根据具体情况来做,即Acrobat Disabled,Flash enabled等...
这可能吗?
干杯!
公吨