无法使用Xcode 9创建到ipa的xcarchive

时间:2018-07-30 11:56:40

标签: ios xcode xcode9 provisioning-profile code-signing-certificate

我正在尝试将xcarchive转换为ipa。我尝试使用以下建议未成功:How to convert .xcarchive to .ipa for client to submit app to app store using Application Loader

我绝对是Mac和Apple配置文件和证书的初学者。

我所知道的是:

  • 我有iOS发行证书
  • 我有生产规定资料

我刚刚在Cloud中租用了一台Mac,将其转换为IPA,然后上传到应用商店。

我正在使用这种类型的命令:

    xcodebuild 
  -exportArchive 
  -exportOptionsPlist {PATH_TO_PROJECT_ROOT}/ios/build/info.plist 
  -archivePath {PATH_TO_ARCHIVE_MADE_USING_XCODE}/MyApp.xcarchive 
  -exportPath {PATH_TO_EXPORT_THE_APP}/MyApp.ipa

使用此info.plist代码:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
    <dict>
      <key>provisioningProfiles</key>
      <dict>
        <key>UUID</key>
        <string>xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx</string>
      </dict>
      <key>signingCertificate</key>
      <string>iPhone Distribution</string>
      <key>signingStyle</key>
      <string>manual</string>
      <key>teamID</key>
      <string>XXXXXXXX</string>
  </dict>
</plist>

我得到一个错误:teamID:....没有匹配的证书“ iPhone Distribution:...”。

我在做什么错了?

我必须在其中输入的确切值是多少?

<key>signingCertificate</key>
  <string>iPhone Distribution</string>

我还应该在Mac上安装任何证书或类似的东西吗?我以前从未使用过Mac或Xcode。我只是在遵循使用命令行代码生成ipa的提示。

1 个答案:

答案 0 :(得分:2)

必须将证书安装在钥匙串中,才能将该Mac标识为可以构建用于分发的Mac。我不知道您是否可以使用基于虚拟云的“机器”来执行此操作,但是无论如何,您的“我有iOS发行证书”一词显然是错误的,因为您需要“具有要分发的证书是“已将其安装在钥匙串中”。如果您在“ Xcode帐户”首选项窗格的“管理证书”对话框中查看,它将清楚地告诉您证书的状态。