ios - 无法使用 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 配置文件和证书的绝对初学者。
我所知道的是:
- 我有 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>
我收到一个错误:没有匹配的证书 "iPhone Distribution: ..." for teamID: ....
我究竟做错了什么?
我必须输入的确切值是多少?
<key>signingCertificate</key>
<string>iPhone Distribution</string>
另外,我应该在 Mac 上安装任何证书或类似的东西吗?我以前从未使用过 Mac 或 Xcode;我只是按照使用命令行代码生成 ipa 的提示进行操作。
解决方案
证书必须安装在钥匙串中,才能将这台 Mac 标识为可以构建以供分发的 Mac。我不知道您是否可以使用基于虚拟云的“机器”来做到这一点,但无论如何,您的短语“我有 iOS 分发证书”显然是错误的,因为您需要“拥有” 要分发的证书是“将其安装在钥匙串中”。如果您查看 Xcode Accounts 首选项窗格的 Manage Certificates 对话框,它将清楚地告诉您证书的状态。
推荐阅读
- kubernetes - 如何使用服务帐户的令牌登录到 Kubernetes Dashboard UI
- c - 汇编器中的 RJMP 实现,avr
- javascript - 如何在 javascript 中检测 Windows 10 上的 IE11?
- windows - 循环遍历批处理脚本中的列表项
- javascript - ID od 节点元素不同于innerHTML
- java - 两个三角旗一次移动一个像素(赛车)以随机概率冲向终点线?
- android - 计算器崩溃
- c# - 如何获取 windows 10 商店应用的 processId/handle?
- html - Flexbox:不需要的换行符
- c++ - c++已经停止工作静态地图功能