我正在使用xcodebuild来构建我的应用程序:
xcodebuild -workspace "RG.xcworkspace" -scheme "Production" -configuration "Release" build CONFIGURATION_BUILD_DIR="${TEMP_DIR}" PROVISIONING_PROFILE="1234-5678-9098-7654-3210"
我的计划有两个目标。一个目标是应用程序,另一个是应用程序扩展名(我为Safari建立了一个扩展名)。应用程序扩展是目标依赖关系。每个目标需要单独的配置配置文件。我不知道如何为依赖项指定PROVISIONING_PROFILE。我收到这个错误,如预期的:
CodeSign error: code signing is required for product type 'App Extension' in SDK 'iOS 8.1'
StackOverflow和xcodebuild的手册页似乎没有提出任何事情。有没有人知道如何使用xcodebuild构建一个依赖于两个配置文件的项目?
解决方法
今天我花了太长时间的工作。当我的答案打我的时候我正在睡觉:
在每个目标的Build Settings中,您应该为配置文件名称设置一个$ VARIABLE。为此,从配置文件列表的底部选择“其他”。这样做会打开一个文本字段 – 为每个目标选择一个不同的$ VARIABLE – 例如我选择了$ APP_PROFILE作为容器应用程序目标,$ EXTENSION_PROFILE为我今天的扩展目标
这将导致以下内容:
最后,使用xcodebuild构建时,请使用PROVISIONING_PROFILE指定配置文件UUID:
xcodebuild ... APP_PROFILE="85b6f019-d5e5-43a7-9e8f-e3aaed64a7e4" EXTENSION_PROFILE="e50cf605-ab63-40ad-8329-2758359ea748"
从XCode构建似乎不受影响 – 据我所知,XCode正在选择默认配置文件(就像在“自动”模式下)
从理论上讲,这也支持多个扩展。
用XCode 6.3为我工作:)