Как мне включить локальное хранилище в моем приложении на основе WebKit?

У меня есть приложение Cocoa / Objective-C, в которое встроен WebKit WebView. Мне нужно включить поддержку базы данных и локальное хранилище. Я знаю, что это можно сделать - у меня это работает в Safari, но я не могу найти пример того, как настроить это в моем собственном приложении.

Я нашел этот (без ответа) вопрос SO , который предоставляет пример, но, как упоминается на исходном плакате, не работает. И, собственно, методы, которые он использует (setDatabasesEnabled, setLocalStorageEnabled) не определены в моем WebKit.framework (Xcode 3.2.5), хотя они кажутся существующими, если я определю их сам.

Кто-нибудь может предоставить пример того, как включить локальное хранилище базы данных для какао на основе WebKit заявление? Большое спасибо, если так!

Обновление: У меня что-то работает ... Меня смутило «базы данных» и «локальное хранилище», которые, по-видимому, представляют собой совершенно разные вещи. Вот код, который работает:

WebPreferences* prefs = [webView preferences];
[prefs _setLocalStorageDatabasePath:@"~/Library/Application Support/MyApp"];
[prefs setLocalStorageEnabled:YES];

Итак, это работает, но для этого требуется частный метод _setLocalStorageDatabasePath, что означает отсутствие магазина приложений для меня. Итак, мои измененные вопросы теперь: есть ли способ сделать эту работу без , используя частный метод? В этом ответе я нашел ключ предпочтения WebDatabaseDirectory , который определяет, куда идут базы данных . Но я не мог t найти соответствующий ключ для локального хранилища в любом месте источников. Или есть способ заставить локальное хранилище использовать базу данных и, таким образом, ключ WebDatabaseDirectory? Есть идеи?

12
задан Community 23 May 2017 в 12:17
поделиться