Xcode 8/Xcode构建:如何触发&x27;更新签名';从命令行?

Xcode 8/Xcode构建:如何触发&x27;更新签名';从命令行?,xcode,xcodebuild,Xcode,Xcodebuild,背景:Xcode 8具有“自动更新签名”的新功能。在构建mac上没有配置文件的情况下,Xcode将自动从Apple dev门户获取所需的配置文件。 您可以rm-rf~/Library/MobileDevice/Provisioning\Profiles然后打开Xcode项目,Xcode将自动提取配置文件,您将在Xcode中看到“更新签名”: 如何从命令行触发此“更新签名”?xcodebuild的手册页没有提到这一点。仅运行“xcodebuild”不会运行此步骤。使用xcodebuild无法执行

背景:Xcode 8具有“自动更新签名”的新功能。在构建mac上没有配置文件的情况下,Xcode将自动从Apple dev门户获取所需的配置文件。 您可以
rm-rf~/Library/MobileDevice/Provisioning\Profiles
然后打开Xcode项目,Xcode将自动提取配置文件,您将在Xcode中看到“更新签名”:


如何从命令行触发此“更新签名”?xcodebuild的手册页没有提到这一点。仅运行“xcodebuild”不会运行此步骤。

使用
xcodebuild
无法执行此操作

然而,我有一个工作要做,似乎要帮我完成任务。我使用AppleScript在Xcode中打开工作区,等待适当的时间(比如10秒),然后退出Xcode。签名更新是在打开工作区时完成的,而不是在尝试构建时完成的,因此这足以修复任何签名问题

我使用的AppleScript是这样的(基于我在互联网上找到的一些代码):

tell application”/Applications/Xcode.app
打开“/Users/gary/MyWorkspace.xcworkspace”
将workspaceDocument设置为工作区文档“MyWorkspace.xcworkspace”
--等待工作区文档加载并超时60秒
重复120次
如果加载的workspaceDocument为true,则
退出重复
如果结束
延迟0.5
结束重复
如果加载的workspaceDocument为false,则
错误“Xcode工作区未在超时内完成加载。”
如果结束
--Xcode将仅更新活动方案中目标的签名,
--因此,请确保所需的方案是活动方案
将schemeToUse设置为workspaceDocument的方案“schemeToUse”
将workspaceDocument的活动方案设置为schemeToUse
--更新签名问题所需的时间与目标数量有关。
--方案生成的目标数量不会通过AppleScript公开,
--因此,计算工作区中目标的总数
将totalTargets设置为0
对工作空间文档中项目中的项目重复此操作
将totalTargets设置为totalTargets+(项目的目标计数)
结束重复
--对于每个目标,等待一小段时间
重复两次
延迟3.0
结束重复
退出
结束语
您需要更改案例的工作区路径、工作区名称和方案名称

有很多方法可以从命令行运行AppleScript,包括
osascript
命令,但我一直在Python中运行它