2012-03-12 4 views
17

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

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

спасибо!

Edit: я поставил код, который я использовал:

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

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

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

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

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

+0

У вас есть код? –

+0

Я редактирую сообщение :) Спасибо! – chemitaxis

ответ

23

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

вот нить - https://groups.google.com/forum/?fromgroups#!topic/phonegap/RJC2qA9sDnw

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

+0

Это все еще работает в PhoneGap 3? –

+1

@ScottC да. Патч был добавлен в 3.0, поэтому вам больше не нужно много делать. –

8

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

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

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

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

+0

Так приемлемо ли это использовать в последней версии PhoneGap, даже если пользователь находится на iOS 5.1? LocalStorage будет сохраняться с патчем? – jocull

Смежные вопросы