首页 > 解决方案 > 无法使用 Xcode 9 创建 xcarchive 到 ipa

问题描述

我正在尝试将我的 xcarchive 转换为 ipa。我尝试使用此建议但没有成功:How to convert .xcarchive to .ipa for client to submit app to app store using Application Loader

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

我所知道的是:

我刚刚在 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>

我收到一个错误:没有匹配的证书 "iPhone Distribution: ..." for teamID: ....

我究竟做错了什么?

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

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

另外,我应该在 Mac 上安装任何证书或类似的东西吗?我以前从未使用过 Mac 或 Xcode;我只是按照使用命令行代码生成 ipa 的提示进行操作。

标签: iosxcodexcode9provisioning-profilecode-signing-certificate

解决方案


证书必须安装在钥匙串中,才能将这台 Mac 标识为可以构建以供分发的 Mac。我不知道您是否可以使用基于虚拟云的“机器”来做到这一点,但无论如何,您的短语“我有 iOS 分发证书”显然是错误的,因为您需要“拥有” 要分发的证书是“将其安装在钥匙串中”。如果您查看 Xcode Accounts 首选项窗格的 Manage Certificates 对话框,它将清楚地告诉您证书的状态。


推荐阅读