Храните данные в plist в iOS - PullRequest
1 голос
/ 05 октября 2009

Я хочу сохранить некоторые данные в файле plist. Если я изменю данные в plist-файле, придется ли мне перекомпилировать приложение?

Ответы [ 3 ]

1 голос
/ 05 октября 2009

Я не совсем уверен, что понимаю ваш вопрос. Вот некоторые вещи для размышления:

  1. Если вы еще не сохранили данные в plist-файле, и ваше приложение должно их прочитать, тогда ваше приложение должно знать, как читать (и, возможно, записывать) plist-файл и формат данных в нем. Для этого вам нужно перекомпилировать приложение.

  2. Если у вас уже есть приложение, и вы хотите зайти в «пакет» и изменить там файл plist, то вы сломаете приложение, так как приложение имеет цифровую подпись и не будет работать, если подпись недействительна. Чтобы сделать правильную подпись, вам нужно пересобрать свое приложение, используя Xcode или какую-либо другую утилиту для подписи (я не знаю ни одной). Это может не означать, что ваше приложение должно перекомпилироваться, но оно должно «перестраивать».

  3. Если вы планируете изменить этот plist-файл после сборки приложения, будь то программно с помощью вашего приложения или иным образом, то ваше приложение должно получать этот plist-файл откуда-то за пределами вашего пакета приложения, чтобы обойти вопрос подписи. Там его можно изменить или прочитать без аннулирования приложения.

  4. Если вам нужен способ распространения этого plist-файла вместе с приложением, поместите его в папку ресурсов в Xcode. В своем приложении проверьте, можете ли вы найти этот файл в папке «Предпочтения» или «Документы», а если нет, то скопируйте файл из пакета приложения в папку «Prefs» или «Документы». Затем используйте эту копию.

0 голосов
/ 22 февраля 2011

Да, чтобы просмотреть выходные данные в соответствии с изменениями в файле plist, вы должны перекомпилировать его.

0 голосов
/ 05 октября 2009

У вас нет , но если копирование plist в его правильное местоположение является частью вашего процесса сборки (т. Е. Если он находится в папке Resources или что-то еще), то, вероятно, проще просто перекомпилируйте так, чтобы измененная версия была скопирована. Компилятор умный. Он не собирается перекомпилировать вещи, которые не изменились со времени последней компиляции, поэтому, если все, что вы делаете, это редактирование plist и перекомпиляция, то это должно произойти очень быстро.

Кроме того, вы можете просто открыть его в редакторе списка свойств и изменить его на месте.

...