PhoneGap iOS 5.1 и локальное хранилище - PullRequest
17 голосов
/ 12 марта 2012

Я использовал localstorage для сохранения одного значения в моем приложении, которое работает с PhoneGap, но когда Apple выпустила новую iOS 5.1, мое приложение теперь не сохраняет значение.

Кто-нибудь знает, какрешить эту проблему?

Спасибо большое !!!

Редактировать: Я поместил код, который использовал:

window.localStorage.setItem("login", $('#login').val());

Я использую его для сохранения значения и использую его для чтения значения:

function onDeviceReady() {
    var login = window.localStorage.getItem("login");

    if (login != null) {
        $('#login').val(login);
    }
}

Но когда я закрываю приложение, значения не сохраняются.

Ответы [ 2 ]

23 голосов
/ 13 марта 2012

В группе PhoneGap была большая тема, в которой говорилось об этой проблеме.В основном это потому, что теперь они обрабатывают localStorage как временный элемент, который можно удалить в любой момент.Не бойтесь, что на работе есть очень умные люди!

вот в теме - https://groups.google.com/forum/?fromgroups#!topic/phonegap/RJC2qA9sDnw

вот код - http://pastebin.com/5881768B

8 голосов
/ 18 октября 2012

В iOS 5 локальное хранилище по умолчанию было сохранено Apple. В iOS 5.1 локальное хранилище было сделано временной папкой, которая могла быть удалена ОС в любое время, когда хранилище было ограничено. В iOS 6 localstorage была сделана необязательно постоянная папка с флагом в настройке.

Phonegap 2.0 предназначался для iOS 5.1 и предоставлял механизм плагинов для обеспечения устойчивости, хотя iOS этого не делал.

В iOS 6 и phonegap 2.1 была предпринята попытка использовать плагин только в том случае, если для iOS установлена ​​версия 5.1 и используется собственный механизм iOS для сохранения папки.

Однако в этом исправлении есть ошибка на iOS 6, когда папка localstorage удаляется в первый раз, данные сохраняются: https://issues.apache.org/jira/browse/CB-1535 Отчет об ошибке также имеет патч; однако это еще не запланировано быть частью какой-либо версии выпуска PhoneGap; так что вам придется вручную применить патч.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...