2013-04-08 3 views
0

Я делаю свое первое приложение для iOS. И у меня есть вопрос. В моем приложении я хочу сохранить текущее состояние приложения: уровни завершены, достигнута оценка, деньги, покупки в приложении и т. Д. В настройке. Проблема в том, как я могу разместить этот слой так, чтобы, если пользователь обновляет приложение, он/она не потеряет эти настройки. Я читал о песочнице приложения, но я не понимаю, как это работает, и как я могу управлять этим из Xcode.Как обновить приложение iOS за исключением файла

ответ

2

Вы должны сохранить эти настройки в NSUserDefaults. Они сохраняются при установке новых версий приложений, поэтому у вас не будет никаких проблем.

+0

Могу ли я это сделать иначе? – kommancs96

+0

Почему вы хотите это сделать иначе – Jona

+0

Это самый простой способ - почему у вас есть проблема в этом? – TheEye

0

Две точки:

а) При обновлении приложения после того, как его в магазине приложений, представив новую версию одного и того же приложения файлы, созданные в старой версии не будут потеряны. Таким образом, вы можете хранить все, что захотите, в каталогах документов или библиотек приложения и ожидать, что он будет оставаться после обновления. Каталог Library/Caches не будет скопирован или восстановлен iTunes, поэтому не помещайте там что-либо, что вы не можете воссоздать. Если вы отправляете другую версию приложения (а не обновление, а новое приложение, поэтому у вас есть два отдельных приложения в магазине приложений, возможно, бесплатные и оплаченные), я не знаю, для чего я знаю, для новой версии, чтобы добраться до файлы, созданные первой версией.

b) Пользователю легко читать, удалять или изменять любые файлы, созданные в документах/или библиотеке /. Это можно сделать с помощью приложения на его Mac, например iExplorer (можно загрузить с сайта macroplant.com). Поэтому имейте в виду, что если файл является удобочитаемым человеком, который является файлом .plist, пользователь может изменить его, чтобы улучшить свой счет, получить больше расходных материалов или что-то еще. Вы можете предотвратить это, зашифровав данные или каким-то образом затеняя смысл, или с помощью какой-либо схемы контрольной суммы, чтобы вы могли, по крайней мере, обнаружить, что она была изменена. Любая из этих мер, конечно, сопряжена с осложнениями и, возможно, не стоит того.

BTW ... если вы разрабатываете приложение, которое использует файлы данных, iExplorer - отличный инструмент для отладки. Я не заинтересован в этом, кроме того, что я научился использовать его и хочу, чтобы он продолжал поддерживаться. Вероятно, есть и другие приложения, которые делают то же самое, но это отлично работает и быстро и просто в использовании.

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