使用 xcodebuild 命令时 team/provisionning 配置文件错误
Wrong team/provisionning profile when using xcodebuild command
我正在尝试在我的 xcode 项目上构建一个持续集成的脚本,但我无法尝试 归档我的 xcode 项目 使用xcodebuild
命令。尝试时:
sudo xcodebuild -scheme MyScheme -archivePath builds/XXX.xcarchive archive DEVELOPMENT_TEAM=YYY CODE_SIGN_IDENTITY='iPhone Distribution' CODE_SIGN_STYLE='Manual' PROVISIONING_PROFILE_SPECIFIER=ZZZ
XXX是我的项目名
YYY是我的开发组标识符,像ABC123DEF一样是一个字符串
ZZZ 是我的配置文件 name,不是代码而是字符串,例如 "My Provisionning Profile"
我总是遇到这个错误:
error: No profile for team 'YYY' matching 'ZZZ' found: Xcode couldn't find any provisioning profiles matching 'YYY/ZZZ'. Install the profile (by dragging and dropping it onto Xcode's dock item) or select a different one in the General tab of the target editor.
但是,当手动打开 XCode 项目并尝试存档时,它运行良好。
我错过了什么?我怎样才能获得安装在我的 Mac 上的 team/provisionning_profile 的完整列表?
到目前为止我已经尝试过:
我试图删除指定开发团队和配置文件的部分,只留下方案标识符。考虑方案的相同结果是用相同的信息定义的。
我试图进入我的 mobileprovision
文件夹以检查配置文件是否存在(存在)
我试图在编辑器中显示 xcode 存档命令行(在“报告导航器”选项卡上)。实际上它从不直接显示 xcodebuild
命令而是一堆子命令。但是我发现我正在使用的 XXX 团队标识符和 YYY 配置文件正在此脚本中使用
有谁知道我该如何解决这个问题?
配置文件位于 ~/Library/MobileDevice/Provisioning Profiles/
您可以添加 -allowProvisioningUpdates
以允许 xcodebuild
到 "solve" 问题本身,但是...¯_(ツ)_/¯ safe/good结果会。您已指定 "manual",所以我假设您不想这样做。
我怀疑您正在尝试存档项目,但只安装了开发配置文件。从 Xcode 中构建项目的 Release 版本,这应该可以让它为您下载一个发布(分发)配置文件,然后您可以从命令行使用它。
终于找到问题了,出在xcodebuild
之前的sudo
。
默认情况下,sudo
命令将运行在root
用户下执行以下操作,该用户没有安装任何配置文件,因为我总是在我的用户下注册它们轮廓。
这是我所做的:
sudo -u myuser xcodebuild -scheme MyScheme -archivePath builds/XXX.xcarchive archive DEVELOPMENT_TEAM=YYY CODE_SIGN_IDENTITY='iPhone Distribution' CODE_SIGN_STYLE='Manual' PROVISIONING_PROFILE_SPECIFIER=ZZZ
错误消失了。
希望这可以帮助某人。
我正在尝试在我的 xcode 项目上构建一个持续集成的脚本,但我无法尝试 归档我的 xcode 项目 使用xcodebuild
命令。尝试时:
sudo xcodebuild -scheme MyScheme -archivePath builds/XXX.xcarchive archive DEVELOPMENT_TEAM=YYY CODE_SIGN_IDENTITY='iPhone Distribution' CODE_SIGN_STYLE='Manual' PROVISIONING_PROFILE_SPECIFIER=ZZZ
XXX是我的项目名
YYY是我的开发组标识符,像ABC123DEF一样是一个字符串
ZZZ 是我的配置文件 name,不是代码而是字符串,例如 "My Provisionning Profile"
我总是遇到这个错误:
error: No profile for team 'YYY' matching 'ZZZ' found: Xcode couldn't find any provisioning profiles matching 'YYY/ZZZ'. Install the profile (by dragging and dropping it onto Xcode's dock item) or select a different one in the General tab of the target editor.
但是,当手动打开 XCode 项目并尝试存档时,它运行良好。
我错过了什么?我怎样才能获得安装在我的 Mac 上的 team/provisionning_profile 的完整列表?
到目前为止我已经尝试过:
我试图删除指定开发团队和配置文件的部分,只留下方案标识符。考虑方案的相同结果是用相同的信息定义的。
我试图进入我的
mobileprovision
文件夹以检查配置文件是否存在(存在)我试图在编辑器中显示 xcode 存档命令行(在“报告导航器”选项卡上)。实际上它从不直接显示
xcodebuild
命令而是一堆子命令。但是我发现我正在使用的 XXX 团队标识符和 YYY 配置文件正在此脚本中使用
有谁知道我该如何解决这个问题?
配置文件位于 ~/Library/MobileDevice/Provisioning Profiles/
您可以添加 -allowProvisioningUpdates
以允许 xcodebuild
到 "solve" 问题本身,但是...¯_(ツ)_/¯ safe/good结果会。您已指定 "manual",所以我假设您不想这样做。
我怀疑您正在尝试存档项目,但只安装了开发配置文件。从 Xcode 中构建项目的 Release 版本,这应该可以让它为您下载一个发布(分发)配置文件,然后您可以从命令行使用它。
终于找到问题了,出在xcodebuild
之前的sudo
。
默认情况下,sudo
命令将运行在root
用户下执行以下操作,该用户没有安装任何配置文件,因为我总是在我的用户下注册它们轮廓。
这是我所做的:
sudo -u myuser xcodebuild -scheme MyScheme -archivePath builds/XXX.xcarchive archive DEVELOPMENT_TEAM=YYY CODE_SIGN_IDENTITY='iPhone Distribution' CODE_SIGN_STYLE='Manual' PROVISIONING_PROFILE_SPECIFIER=ZZZ
错误消失了。 希望这可以帮助某人。