【发布时间】:2023-01-31 20:47:54
【问题描述】:
我正在尝试通过 Xcode CLI 在 Testflight 上构建和发布反应本机 iOS 应用程序。我设法通过 Xcode GUI 构建和发布应用程序,但我无法使用 Xcode CLI 执行相同的操作。使用 xcodebuild 创建存档后,我收到配置文件错误,即使我已经检查过它们都已安装并且已经存在。我使用的是 MacBook Pro PC、macOS Ventura 13.1 和 Xcode 14.2。
错误:
Error Domain=IDEProfileLocatorErrorDomain Code=4 "No "iOS App Store" profiles for team 'xxxxxxxxxx' matching 'test-profile' are installed." UserInfo={IDEDistributionIssueSeverity=3, NSLocalizedDescription=No "iOS App Store" profiles for team 'xxxxxxxxxx' matching 'test-profile' are installed., NSLocalizedRecoverySuggestion=Install a profile (by dragging and dropping it onto Xcode's dock item) or specify a different profile in your Export Options property list.}
我使用示例应用程序 [https://github.com/croma-app/croma]),我通过 Xcode 14.2 成功构建了它,然后创建了一个存档,我可以将其导出为 .ipa 文件或直接上传到 Testflight . Xcode 成功签署并导出档案,而 xcodebuild CLI 失败。
xcode构建命令:
user@SPARE-WSM-xxxxxxxxxxxx ios % sudo xcodebuild -exportArchive -exportOptionsPlist ExportOptions.plist -archivePath croma.xcarchive -exportPath '/ipa/'
- 我仔细检查了 ExportOptions.plist 是否与 Xcode 创建的存档相同。
- Xcode 识别 iOS App Store 分发“test-profile”,而 xcodebuild 不识别。
- “test-profile”已安装并位于“/Users/user/Library/MobileDevices/Provisioning Profiles/f5de3135-6ffa-4834-9f61-be39a178e284.mobileprovision”。
- 此外,在 ExportOptions.plist 文件中,我使用了 UUID“f5de3135-6ffa-4834-9f61-be39a178e284”和“f5de3135-6ffa-4834-9f61-be39a178e284.mobileprovision”而不是名称“test-profile” .
- 自动管理签名没有帮助,xcodebuild CLI 仍然无法识别配置文件。
- 将 Xcode 版本降级到 14.1 也无济于事。 - 我也尝试解锁钥匙串虽然使用 sudo,但错误仍然是一样的。
security unlock-keychain -p 'xxxxxxxx' /Users/user/Library/Keychains/login.keychain-db
我认为这是用户权限及其对供应配置文件的访问权限的一个小问题。但是我该如何解决呢?
- 我如何验证“Library/MobileDevices/Provisioning Profiles/”是 xcodebuild 寻找配置文件的正确位置?
【问题讨论】:
标签: ios react-native command-line-interface provisioning-profile xcodebuild