xcodebuild:没有用Xcode注册的账号

问题描述 投票:0回答:1

xcodebuild 归档失败,提示“Xcode 没有注册帐户”。这是真的 - 我正在尝试在 CI 服务器上构建,因此无法直接访问 Xcode 来添加帐户。但我正在向 Apple Developer 帐户提供身份验证密钥,并且开发证书在钥匙串中。自动签名开启,并且在 pbxproj 文件中设置了 DEVELOPMENT_TEAM。

xcrun xcodebuild archive \
    -project MyApp/MyApp.xcodeproj \
    -scheme MyApp \
    -configuration Release \
    -sdk iphoneos \
    -destination "generic/platform=iOS" \
    -archivePath MyApp/Build/Applications/MyApp.xcarchive \
    -allowProvisioningUpdates \
    -authenticationKeyID ... \
    -authenticationKeyIssuerID ... \
    DWARF_DSYM_FOLDER_PATH=Build/Applications

我还尝试在命令行上显式添加

authenticationKeyPath
和 `DEVELOPMENT_TEAM,但它没有改变任何东西。如果我向 Xcode 添加一个帐户,一切正常,但是......这应该在 CI 服务器上运行。

更新:仔细考虑一下,这个错误是有道理的:Xcode 需要知道谁在构建,这样它才能确定他们可以访问哪些证书——并非团队的所有成员都具有相同的角色。但是只有一个团队,它无法弄清楚用户。我认为身份验证密钥与用户相关联,但事实并非如此。所以问题是:如何告诉 xcodebuild 哪个用户正在构建?

xcodebuild
1个回答
0
投票

这似乎是配置文件问题。 “无帐户”错误通常伴随着第二个“无配置文件”错误,例如

`error: No profiles for '<app ID>' were found: Xcode couldn't find any iOS App Development provisioning profiles matching '<app ID>'. (in target '<target>' from project '<projec>')`

实际上是第二个错误,而不是缺少开发者帐户。这意味着你有错误的个人资料。

解决方案

使用

Provisioning Profiles
目录中的配置文件,而不是从 Apple Developer 下载的配置文件。我不知道有什么区别,但它们的文件大小不同。

  1. ~/Library/MobileDevice/Provisioning Profiles
    目录中进行本地构建以生成配置文件

  2. 检查该目录中的文件以找到具有正确 App ID 的文件

  3. 将该文件上传到 GH 回购秘密:

     base64 -i ~/Library/MobileDevice/Provisioning Profiles/<guid>.mobileprovision | pbcopy
    
© www.soinside.com 2019 - 2024. All rights reserved.