xcodebuild PRODUCT_NAME 参数影响所有目标

标签 xcode

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

这是预期的行为吗?

最佳答案

我是如何解决这个问题的:

  • 在build设置的用户定义部分下添加 CUSTOM_BUNDLE_IDENTIFIER 和 CUSTOM_PRODUCT_NAME。
  • 使用 CUSTOM_PRODUCT_NAME 将 .xcconfig 文件添加到项目中,然后
    CUSTOM_BUNDLE_IDENTIFIER 设置为标称值。
  • 在 info.plist 中将产品名称设置为 ${CUSTOM_PRODUCT_NAME},将包名称设置为 ${CUSTOM_BUNDLE_IDENTIFIER}。
  • 在build设置下将产品名称设置为 ${CUSTOM_PRODUCT_NAME}。

  • 当我想更改某些值时,我会创建一个新的 xcconfig 文件,并使用 xcodebuild 的 -xcconfig 参数指定该 xcconfig 文件。这允许您即时更改设置。

    关于xcodebuild PRODUCT_NAME 参数影响所有目标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5357066/

    相关文章:

    xcode - App Store 中的 MonoTouch 和 Xcode 4.3

    xcode - 如何向Xcode添加配置?

    ios - iCloud 文档不可见

    iphone - 配置时没有为参数 'appIdName' 提供值

    ios - 在 ViewController 中向 UITableView 添加数据/行。 swift

    ios - 有人知道这个错误是什么意思吗?会很胖,ar(1) 将无法对其进行操作

    ios - SKSpriteNode 创建一条彩色细线

    ios - UITableView 单元格分隔线变粗?

    ios - 在陌生目录中的 ios 中创建通用框架

    swift - Xcode - 更改 switch 语句的缩进规则