我制作了一个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构建阶段复制它也会产生警告.
看看这份官方声明.