我需要通过“xcodebuild”在 Today Extension 中构建一个 Xcode 项目。bundle 的主要目标是 com.myapp,而扩展的 bundle id 是 com.myapp.todayextension。我想将两个包 ID 作为 xcodebuild 的参数传递:我试图用自定义环境变量(例如 ${MAIN_TARGET_BUNDLEID} 和 ${EXTENSION_BUNDLEID})替换 xcode 项目中的包 ID,但 xcodebuild 失败。您能否帮助我了解 xcodebuild 命令的正确语法?谢谢。
问问题
611 次
2 回答
0
迟到总比没有好;我们不能直接在General
选项卡中使用环境变量,您需要进入Build Settings
选项卡,然后设置Product Bundle Identifier
为您的环境变量,例如$(PRODUCT_NAME)
.
另一种方法见下文。
如何加载父项目设置的前缀?
- 创建一个
.xcconfig
文件(内容如示例)。 .xcconfig
在项目设置Info
选项卡(不是目标选项卡)中设置文件Info
。- 在目标
Build Settings
选项卡中,确保PRODUCT_BUNDLE_IDENTIFIER
不是粗体(单击它并按delete
)。
但Podfile
用户也应该看到:如何让 Xcode 使用多个 xcconfig 文件?
例子
我的extension.xcconfig
文件(在MyApp/MyLib/MyExtension
目录中)看起来像:
// Below loads `MyApp/config/mylib.xcconfig` file.
#include "../../config/mylib.xcconfig"
PRODUCT_BUNDLE_IDENTIFIER = $(MYLIB_BUNDLE_PREFIX).$(PRODUCT_NAME)
请注意:
- 您想使用某些环境作为前缀,但上面我使用
PRODUCT_NAME
作为后缀(只需根据需要进行编辑)。- 该
mylib.xcconfig
文件设置MYLIB_BUNDLE_PREFIX
, 并且在我MyLib.xcodeproj
的文件目录之外(在父项目的config
目录中也是如此,我在 MyLibREADME.md
中描述用户应该在那里创建它)。- 所以,除了展示我的
#include
方法之外,我尝试介绍环境变量的使用。
于 2021-09-01T03:58:34.757 回答
0
PRODUCT_BUNDLE_IDENTIFIER
根据文档,这就是所谓的。
于 2021-03-29T09:18:40.500 回答