Yas*_* T. 12 xcode objective-c ios
我们怎样才能Info.plist为Dev,Test,Staging和Prod等不同的环境提供不同的文件?
我为每个环境设置了一些设置和单独的Facebook应用程序,以确保应用程序分析不会受到测试人员等的偏见.因此,在构建每个环境之前,请务必避免手动更新设置.
Yas*_* T. 15
以下是添加特定于环境的plist所需执行的操作.
将原始ProjectName.Info.plist文件复制到ProjectName_Dev.Info.plist,ProjectName_Test.Info.plist和ProjectName_Staging.Info.plist,并将它们添加到项目中.
单击Project Navigator,选择Target,然后选择Build Phases选项卡中的项目名称.
键入Info.plist的搜索栏右上方的Info.plist中进行筛选.
从下面Copy Bundle Resources删除所有的plists除外ProjectName.Info.plist
现在点击Editor -> Add Build Phase -> Add Run Script Build Phase菜单选项.
最后,将以下shell脚本复制到新添加的Build Phase.
确保替换ProjectName为您的项目名称!
if [ "${CONFIGURATION}" == "Dev" ]; then
cp -r "${PROJECT_DIR}/ProjectName/ProjectName-Info_Dev.plist" "${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app/ProjectName-Info.plist"
echo "DEV plist copied"
elif [ "${CONFIGURATION}" == "Test" ]; then
cp -r "${PROJECT_DIR}/ProjectName/ProjectName-Info_Test.plist" "${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app/ProjectName-Info.plist"
echo "Beta plist copied"
elif [ "${CONFIGURATION}" == "Staging" ]; then
cp -r "${PROJECT_DIR}/ProjectName/ProjectName-Info_Staging.plist" "${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app/ProjectName-Info.plist"
echo "Beta plist copied"
elif [ "${CONFIGURATION}" == "Prod" ]; then
cp -r "${PROJECT_DIR}/ProjectName/ProjectName-Info_Prod.plist" "${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app/ProjectName-Info.plist"
echo "Beta plist copied"
fi
Run Code Online (Sandbox Code Playgroud)
要不就:
cp -r "${PROJECT_DIR}/ProjectName/ProjectName-Info_${CONFIGURATION??}.plist" "${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app/ProjectName-Info.??plist"
注意:我假设您已经使用Dev,Test,Staging和Production环境变量创建了构建方案.
得到了这篇文章的帮助. http://www.dosomethinghere.com/2013/09/21/different-settings-app-entries-for-debug-vs-release-builds/
您还可以为每个目标创建单独的xcconfig文件,使用项目管理器为每个目标分配正确的xcconfig文件,然后在每个xcconfig中定义一个具有相同名称的变量,并将该变量导入到单个plist中.例如:
首先是xcconfig:
MY_VARIABLE = suchandsuch
第二个xcconfig:
MY_VARIABLE =这个和那个
然后在你的plist中,设置一个值为$(MY_VARIABLE)的键
取决于你究竟在做什么.Xcconfig很不错,因为除了plist之外,您还可以在诸如构建设置之类的位置访问您设置的变量.
| 归档时间: |
|
| 查看次数: |
5077 次 |
| 最近记录: |