我从命令行运行
xcodebuild,经常更改PRODUCT_NAME以区分版本和服务器端点(即MyProduct.r1234staging).这构建了几个依赖目标,这些目标是静态库,然后是最终应用程序.在xcode 3版本的命令中,PRODUCT_NAME仅影响最终产品,而不影响库.但是现在它似乎也在为库设置这些名称(即构建libMyProduct.r1234staging.a).
这是预期的行为吗?
解决方法
我是如何解决的:
>在构建设置的用户定义部分下添加CUSTOM_BUNDLE_IDENTIFIER和CUSTOM_PRODUCT_NAME.
>使用CUSTOM_PRODUCT_NAME将.xcconfig文件添加到项目中
CUSTOM_BUNDLE_IDENTIFIER设置为标称值.
>将产品名称设置为${CUSTOM_PRODUCT_NAME},并将信息包名称绑定到info.plist中的${CUSTOM_BUNDLE_IDENTIFIER}.
>在构建设置下将产品名称设置为${CUSTOM_PRODUCT_NAME}.
当我想更改某些值时,我会创建一个新的xcconfig文件,并使用-xcconfig参数为xcodebuild指定该xcconfig文件.这允许您动态更改设置.