У меня есть 2 приложения HTML5, которые используют:
localStorage[key] = value;
для сохранения данных (я пробовал другие методы localStorage, такие как localStorage.keyName = "Bla" с той же проблемой). Файлы добавляются в виде файлов ссылок (синяя папка) с этим кодом для отображения в UIWebView:
NSString *htmlPath = [[NSBundle mainBundle] pathForResource:@"index"
ofType:@"html"
inDirectory:@"/some_path" ];
NSString *html = [NSString stringWithContentsOfFile:htmlPath
encoding:NSUTF8StringEncoding
error:nil];
[webView loadHTMLString:html
baseURL:[NSURL fileURLWithPath:
[NSString stringWithFormat:@"%@/some_path/",
[[NSBundle mainBundle] bundlePath]]]];
webView.scalesPageToFit = YES;
Странно, что localStorage (javascript) работает в одном приложении, а в другом - нет. На том, где это не работает, я попробовал код try / catch, чтобы получить ошибку, и я получил DOM 18 Security_Err. Похоже, это не позволило бы мне получить к нему доступ, потому что файлы являются локальными. Это имело бы смысл, если бы это было в обоих приложениях.
Я понятия не имею, что отличается, так как код в обоих из них почти одинаков. Я не добавил специальной функции для UIWebView для отключения каких-либо специальных ограничений безопасности.
Я действительно не знаю, что случилось. Единственное, что отличается, это сторона HTML / JS / CSS. Я не думаю, что эта проблема вызвана кодом Cocoa Touch, поскольку я буквально скопировал проект для создания второго приложения.
Заранее спасибо, и если вам нужна дополнительная информация, пожалуйста, не стесняйтесь спрашивать. Я не смог найти какие-либо решения в Google или здесь. Информация о ключе / значении localStorage, по-видимому, отсутствует. Это имеет смысл, поскольку его так легко использовать, но все же. У кого-нибудь еще есть эта проблема?