xcodebuild PRODUCT_NAME参数会影响所有目标

8 xcode

我从命令行运行xcodebuild,经常更改PRODUCT_NAME以区分版本和服务器端点(即MyProduct.r1234staging).这构建了几个依赖目标,这些目标是静态库,然后是最终应用程序.在xcode 3版本的命令中,PRODUCT_NAME仅影响最终产品,而不影响库.但是现在它似乎也在为库设置这些名称(即构建libMyProduct.r1234staging.a).

这是预期的行为吗?

小智 14

我是如何解决的:

  1. 在用户定义的构建设置部分下添加CUSTOM_BUNDLE_IDENTIFIER和CUSTOM_PRODUCT_NAME.
  2. 使用CUSTOM_PRODUCT_NAME将.xcconfig文件添加到项目中,并将CUSTOM_BUNDLE_IDENTIFIER设置为标称值.
  3. 将产品名称设置为$ {CUSTOM_PRODUCT_NAME},并将信息包名称绑定到info.plist中的$ {CUSTOM_BUNDLE_IDENTIFIER}.
  4. 在构建设置下将产品名称设置为$ {CUSTOM_PRODUCT_NAME}.

当我想更改某些值时,我创建了一个新的xcconfig文件,并使用-xcconfig参数为xcodebuild指定该xcconfig文件.这允许您动态更改设置.