我两天前遇到了同样的问题。事实证明问题出在:
解决方案是:获取客户企业账户的私钥。有两种可能的选项:
如何查找您是否拥有证书的私钥:打开Keychain Access应用程序。选择证书。找到您的证书。如果您在证书左侧看到小灰色三角形,请单击它以查看您的私钥。没有三角形=没有私钥。
这是对我有效的方法。
在我的电脑上同时保留了Xcode 5和Xcode 6 beta。
从Xcode 6 beta中存档该项目。关闭Xcode 6。
打开Xcode 5,进入组织器并使用正确的预配文件导出Ad Hoc版本。
就是这样!
我曾经遇到同样的问题,为了解决它,我使用了命令行工具"xcodebuild",只安装了Xcode 6(不需要重新安装Xcode 5)。
http://www.thecave.com/2014/09/16/using-xcodebuild-to-export-a-ipa-from-an-archive/
例如:
xcodebuild -exportArchive -archivePath $projectname.xcarchive -exportPath $projectname -exportFormat ipa -exportProvisioningProfile "Provisioning Profile Name"
在我的情况下,解决问题的方法是从我的苹果开发者帐户中删除所有发布证书。然后,Xcode成功地再次创建了开发和发布证书,并解决了问题。
我得到了一个解决方案,而不需要更新证书:
1 - 使用适当的 代码签名身份 和 配置文件 打包目标应用
2 - 在 组织者 中创建的文件上右键单击--> 在 Finder 中显示
3 - 右键单击 xcarchive 文件 --> 显示包内容
4 - 在那里,在 Finder 中,进入 Products/Applications/
5 - 上传文件 Products/Applications/appName 到 iTunes
6 - 当应用程序出现在 iTunes 中时,右键单击它--> 在 Finder 中显示. 这就是 ipa 文件
7 - 通过 App Loader 3.0 发送此 ipa
我认为这不是一种持久的解决方案,但我不想删除我的证书。
1)通过developer.apple.com创建一个新的生产证书,需要使用Keychain Access在您的计算机上创建一个新的私钥。
2)在同一开发者门户网站中,打开您用于此应用程序的分发配置文件,并选择您刚刚创建的新生产证书。生成该证书后下载并运行它。
3)运行您的应用程序,对其进行归档,然后导出存档。
我花了数天甚至数周的时间才想出解决方法,希望它能帮到您。
创建新的 iOS 分发证书并选择生产 App Store & AdHoc 部分。同时不要忘记将 Target > Build Settings > Code Signing 全部更改为 iOS 分发(但在创建 ipa 后将其设置回 iOS Developer),这才解决了我的问题。
今天我在使用Xcode 6.1.1时遇到了同样的问题。
当我试图通过Xcode添加iOS发布证书时,出现了同样的错误。会员中心已经发放了几个发布证书,我不想使它们失效,因为如果它们用于企业环境下的Ad Hoc分发,这也会使已安装在设备上的应用程序失效(至少这是我读到的)。
我所做的是:
1.通过密钥链生成了一个来自认证机构的证书请求,并将请求保存到文件中;
2.登录到会员中心证书区域的生产部分,请求新的“App Store和Ad Hoc”生产证书,并提供来自步骤1的证书请求文件;
3.下载新的证书并导入到密钥链,此时它已经有了私钥。
之后,我清除了Xcode,重启了它,检查我的帐户中配置文件是否可见,并构建了一个新的存档。现在我能够验证存档了。
现在,如果我尝试请求新的“App Store和Ad Hoc”证书,我会发现这个选项对我而言是灰色的,我想这是因为我的账户已经拥有了该证书。如果您的情况也是如此,那么您很可能需要使之前的证书失效才能发放新证书。这就是为什么苹果推荐备份您的证书。但是很可能您不需要使所有生产证书失效,因为我的配置文件中已经有了一些这样的证书。
希望这对某些人有所帮助 :)
苹果已经改变了Ad Hoc构建的方式。现在,您不能使用dev证书进行Ad Hoc分发构建。您应该使用一个带有“Ad Hoc”配置文件的分发证书。