【问题标题】:build .ipa from terminal issue with provisioning profile使用配置文件从终端问题构建 .ipa
【发布时间】:2017-03-30 09:58:27
【问题描述】:

我首先运行这个脚本:

xcodebuild clean archive -archivePath archive/MyApp -scheme MyAppScheme

它在归档目录中传递并生成 MyApp.xcarchive。 然后我尝试从存档中生成 .ipa 文件,并从那里开始有趣。我运行这个脚本:

xcodebuild -exportArchive -exportFormat ipa -archivePath "archive/MyApp.xcarchive" -exportPath "build/MyApp.ipa" -exportProvisioningProfile "UUID from file in ~/Library/MobileDevice/ProvisioningProfiles"

此脚本失败:error: no provisioning profile matches 'XXXXXXX-XXX-XXX...'

如果我尝试使用此构建脚本而不是之前的构建 .ipa:

xcodebuild -exportArchive -exportFormat ipa -archivePath "archive/MyApp.xcarchive" -exportPath "build/MyApp.ipa" PROVISIONING_PROFILE=Same UUID from file in ~/Library/MobileDevice/ProvisioningProfiles

它传递并生成 .ipa,但是当通过 Application Loader 提交 .ipa 文件时,我收到配置文件无效的错误:

错误 ITMS-90161:“配置文件无效。配置文件 包 com.myapp [Payload/MyApp.app] 中包含的配置文件是 无效的。 [缺少代码签名证书]。分布 将应用程序提交到应用程序时应使用配置文件 店铺。如需更多信息,请访问 iOS 开发者门户。”

我确定我使用的配置文件 UUID 是发行版一,因为当我使用文本编辑器打开文件时,我可以找到:

<key>aps-environment</key>
<string>production</string>

我设法发现通过的第二个脚本使用另一个配置 UUID(目录中有 3 个:个人一个和两个用于来自苹果开发者网站的应用程序 - 一个开发,另一个生产)。我通过以下步骤从这里发现了这一点:How to tell what profile/signing certificate was used to sign .ipa? 并检查 .ipa 文件中的 UUID,两者都是通过第二个脚本生成并通过 xcode 生成(xcode 将我传递给终端脚本的 UUID 传递)。

所以我假设构建 .ipa(第二个)的终端脚本忽略了运行脚本中插入的配置文件部分,而只是从配置文件目录中获取第一个。

关于如何修复以下脚本的任何建议:error: no provisioning profile matches 'XXXXXXX-XXX-XXX...' ???

【问题讨论】:

    标签: ios xcode terminal provisioning-profile ipa


    【解决方案1】:

    答案在这里:xcodebuild error: no provisioning profile matches(标记为正确的那个)。 这有点令人困惑。基本上,本地机器中的 UUID 或配置文件名无关紧要。您需要转到https://developer.apple.com/account/ios/profile/production 并复制名称标签旁边的内容(复制名称)。

    或者您可以在您机器上的配置文件目录中的文件中的名称标签下找到 ir。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-04-30
      • 1970-01-01
      • 2016-06-03
      • 1970-01-01
      • 1970-01-01
      • 2017-06-21
      • 2014-01-12
      相关资源
      最近更新 更多