构建阶段,创建Plist并将其复制到资源包中

Luc*_*rdi 3 xcode

我制作了一个ruby脚本,从其他格式的数据生成Plist(此脚本位于xcode的项目文件夹中).

我做了一个调用我的脚本的自定义运行脚本构建阶段:

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

此脚本在以下文件夹中输出plist ${PROJECT_DIR}/plistr/output/data.plist

我无法弄清楚的是如何在Bundle资源中复制它,以便我可以使用以下内容访问它:

[[NSBundle mainBundle] pathForResource:@"data" ofType:@"plist"];
Run Code Online (Sandbox Code Playgroud)

编辑:我的实际解决方法是将脚本作为第一个构建步骤运行,并在"复制包资源"中手动添加对生成的plist的引用

Nic*_*ver 11

您可以通过以下方式将文件复制到包中:

cp /tmp/foo.txt ${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app
Run Code Online (Sandbox Code Playgroud)

请注意,建议不要将info.plist复制到bundle中,如果使用Copy Bundle Resources构建阶段复制它也会产生警告.

看看这份官方声明.