xcodebuild PRODUCT_NAME参数影响所有目标

问题描述

| 我从命令行运行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设置为标称值。 在info.plist中,将产品名称设置为$ {CUSTOM_PRODUCT_NAME},并将捆绑包名称设置为$ {CUSTOM_BUNDLE_IDENTIFIER}。 在构建设置下将产品名称设置为$ {CUSTOM_PRODUCT_NAME}。 当我想更改某些值时,我创建一个新的xcconfig文件,并使用xcodebuild的-xcconfig参数指定该xcconfig文件。这使您可以即时更改设置。