Фаза сборки, в которой создается Plist и копируется в пакет ресурсов - PullRequest
3 голосов
/ 03 февраля 2011

Я создал скрипт ruby, который генерирует Plist из данных в другом формате (этот скрипт находится в папке проекта xcode).

Я сделал фазу сборки сценария пользовательского запуска, которая вызывает мой скрипт:

echo "Running xls Plister"
cd ${PROJECT_DIR}/plistr
ruby plistr.rb
scriptExitStatus=$?
echo "DONE with script: (exitStatus=${scriptExitStatus})"
exit "${scriptExitStatus}"

Этот скрипт выводит plist в следующую папку ${PROJECT_DIR}/plistr/output/data.plist

Я не могу понять, как скопировать это в ресурс Bundle, чтобы я мог получить к нему доступ с помощьючто-то вроде этого:

[[NSBundle mainBundle] pathForResource:@"data" ofType:@"plist"];

РЕДАКТИРОВАТЬ: мой реальный обходной путь - запустить сценарий в качестве первого шага сборки и вручную добавить ссылку на сгенерированный список в «Копировать ресурсы комплекта»

1 Ответ

11 голосов
/ 25 апреля 2011

Вы можете скопировать файл в пакет следующим образом:

cp /tmp/foo.txt ${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app

Обратите внимание, копирование info.plist в пакет не рекомендуется, оно также выдаст предупреждениеесли скопировано на этапе сборки Copy Bundle Resources.

Посмотрите на это официальное заявление .

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