xcodebuild针对目标依赖项的不同配置文件

Rey*_*les 28 xcode xcodebuild ios

我正在尝试使用xcodebuild构建我的应用程序:

xcodebuild -workspace "RG.xcworkspace" -scheme "Production" -configuration "Release" build CONFIGURATION_BUILD_DIR="${TEMP_DIR}" PROVISIONING_PROFILE="1234-5678-9098-7654-3210"
Run Code Online (Sandbox Code Playgroud)

我的计划有两个目标.一个目标是应用程序,另一个是应用程序扩展(我为Safari构建了一个扩展).应用扩展程序是目标依赖项.每个目标都需要单独的配置文件.我不知道如何为依赖项指定PROVISIONING_PROFILE.正如预期的那样,我收到了这个错误:

CodeSign error: code signing is required for product type 'App Extension' in SDK 'iOS 8.1'
Run Code Online (Sandbox Code Playgroud)

StackOverflow和xcodebuild的手册页似乎没有提出任何建议.有谁知道如何使用依赖于两个配置文件的xcodebuild构建项目?

Max*_*mia 49

我今天花了很长时间研究这个问题.当答案袭击我时,我正在上床睡觉的时候:

在每个目标的构建设置中,您应该$VARIABLE为配置文件名称设置a .为此,请从配置文件列表底部选择"其他".这样做会打开一个文本字段 - $VARIABLE为每个目标选择一个不同的字段 - 例如我$APP_PROFILE为容器应用目标和$EXTENSION_PROFILE我的今日扩展目标选择了

添加构建变量变量......

这将导致类似以下内容:

简介

最后,在构建时xcodebuild,使用以下方式指定配置文件UUID PROVISIONING_PROFILE:

xcodebuild ... APP_PROFILE="85b6f019-d5e5-43a7-9e8f-e3aaed64a7e4" EXTENSION_PROFILE="e50cf605-ab63-40ad-8329-2758359ea748"
Run Code Online (Sandbox Code Playgroud)

从XCode内部构建似乎不受影响 - 据我所知,XCode正在选择默认配置文件(就像在"自动"模式下一样)

从理论上讲,这也支持多个扩展.

适用于我的XCode 6.3 :)

  • 我疯了,你应该得到一枚奖章......我仍然无法相信苹果应用程序扩展的分发机制如此糟糕 (4认同)
  • 只需创建更多配置即可。然后,您无需在命令行中指定配置文件名称。 (2认同)