Da quello che ho visto, se si sta costruendo un OSX del desktop HTML5 app e vuole localStorage a persistere nel vostro involucro WebView, è necessario fare qualcosa di simile:localStorage non persistere in OSX app (Xcode 4.3)
WebPreferences* prefs = [webView preferences];
[prefs _setLocalStorageDatabasePath:@"~/Library/Application Support/MyApp"];
[prefs setLocalStorageEnabled:YES];
Tratto da: How do I enable Local Storage in my WebKit-based application?
Ma questo non sembra funzionare per me in Xcode 4.3. Invece ho
"No visible @interface for 'WebPreferences' declares the selector '_setLocalStorageDatabasePath:'
"No visible @interface for 'WebPreferences' declares the selector 'setLocalStorageEnabled:'
Sono molto di nuovo da Objective C, e sono probabilmente facendo qualcosa di stupido come non tra cui alcuni intestazione o qualcosa del genere.
Ho incluso il framework WebKit ed entrambi di queste intestazioni:
#import <WebKit/WebKit.h>
#import <WebKit/WebPreferences.h>
E ciò che è strano è che posso accedere ad altri metodi di preferenze, vale a dire [prefs setDefaultFontSize:10]
- ma non solo i due di cui sopra, che ho elencato.
Qualche idea? È qualcosa che è stato rimosso in Xcode 4.3?
Il messaggio di errore dice che non v'è alcuna dichiarazione di _setLocalStorageDatabasePath: - non che non funzionerà se lo si chiama. Potrebbe funzionare se lo chiami, quindi quando Apple rilascia 10.8 o 10.7.5, potrebbe smettere di funzionare. Quindi probabilmente non vuoi usarli in ogni caso. –
@TomAndersen No, in realtà non verrà compilato. E si noti che il metodo 'setLocalStorageEnabled' non funziona - e non è nemmeno un metodo privato. – asgeo1
È possibile chiamare qualsiasi cosa nel cacao: Ad esempio, prendere una stringa di controllo NSString, quindi [aString thisIsACallThatWillNotWork]; dovrebbe compilare e causare un arresto anomalo in fase di runtime. Forse ci sono diverse impostazioni del compilatore che stai usando. –