Xcode 6 beta 2问题导出.ipa:"您的帐户已经拥有有效的iOS分发证书"

325*_*523 193 iphone ios xcode6

我在Xcode 6 beta 2上为Ad Hoc Distribution导出应用程序时遇到问题:

无法找到或生成匹配的签名资产

在Xcode 6上导出我的项目以进行临时开发时,我收到此警报.我已经尝试在Xcode 5上导出它,并且在保存.ipa方面没有任何问题.是否有人遇到过这个问题?

Ale*_*nin 66

两天前我遇到了同样的问题.原来问题是:

  1. 我有自己的开发人员分发证书适当的私钥
  2. 我有没有私钥的客户端的企业开发人员分发证书
  3. 我尝试为我的客户制作一个企业分发包
  4. Xcode向我发出含糊的错误:您的帐户已经拥有有效的iOS分发证书

解决方案是:获取客户端企业帐户的私钥.有两种可能的选择:

  1. 请求客户提供凭据以访问Apple网站上的企业开发者帐户.撤消旧证书并重新创建它.您将在此过程中创建私钥.请注意:撤消企业分发证书会使使用该证书签署和部署的所有应用程序无效(官方信息).
  2. 让您的客户将他的私钥从他的Keychain Access应用程序导出为*.p12文件,并使用密码发送给您.您无法从Apple网站下载现有的私钥.获得它的唯一方法是询问您的客户.我做到了,而且我终于可以制作包了.

如何确定您是否拥有证书的私钥:打开Keychain Access应用程序.选择证书.找到你的证书.如果您在证书的左侧看到一个小的灰色三角形,请打开它,然后您会看到您的私钥.没有三角形=没有私钥.

如何查找您是否拥有证书的私钥

  • 对于一个完全难以理解的问题,这是一个多么奇妙的答案. (2认同)

Adn*_*nan 52

这对我有用.

  1. 在我的机器上,我保留了Xcode 5和Xcode 6 beta.

  2. 从Xcode 6 beta开始,归档该项目.关闭Xcode 6.

  3. 打开Xcode 5,转到管理器并使用适当的配置文件导出为Ad Hoc构建.

而已!

  • 在Xcode 6.0.1上,问题已经消失.Apple已经改变了开发人员的Ad Hoc分发方式.现在,您无法使用开发证书进行Ad Hoc分发构建.您需要具有"Ad Hoc"配置文件(而不是开发配置文件)的分发证书才能进行Ad Hoc构建.这是一个真正的痛苦,您不能再在多台Mac上使用一个Apple Developer帐户来存档TF(TestFlight)版本.似乎每个开发人员应该单独支付99美元/年!Apple的TestFlight看起来很有前景,但App版本将由App Review Team审核.:( (20认同)
  • 我在通用汽车上遇到这种情况.自Xcode 6和iOS8本周发布以来,这不会是一个有效的解决方案. (9认同)
  • 稍后 - 在我撤销并重新生成所有*证书和相关开发者帐户的配置文件后,问题终于得到解决. (3认同)

小智 49

我遇到了同样的问题,我不得不使用命令行"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"
Run Code Online (Sandbox Code Playgroud)

  • 非常感谢!这工作并发出了一个特别的构建. (2认同)

luc*_*t89 28

就我而言,解决问题的是从Apple开发者帐户中删除所有分发证书.然后,Xcode再次设法创建开发和分发证书,这就是诀窍.

  • 这对我来说也很有用......对于Xcode的每一个版本来说这都是一个不变的问题,我真的希望Apple花一些时间来改造这个可怕的过程. (12认同)
  • 这会影响我已发布的应用吗? (8认同)
  • 也适用于我(使用Xcode Beta 6),只需确保从Apple开发人员网站和钥匙串中删除证书,然后让Xcode解决问题 (2认同)

Ped*_*nte 19

我没有更新证书就得到了解决方案:

1 - 使用适当的代码签名标识配置文件归档目标

2 -在创建的文件右键按钮组织者 - > 在Finder中显示

3 - xcarchive文件中的右键- > 显示包内容

4 - 在Finder中,转到产品/应用/

5 - 将文件Products/Applications/appName上传到iTunes

6 - 当应用程序出现在iTunes中时,右键单击它 - > 在Finder中显示.这是ipa文件

7 - 通过App Loader 3.0发送此ipa

我不认为这是一个持久的解决方案,但不想删除我的证书

  • 我们为什么要在这里使用app loader?我真的不知道. (2认同)

Jac*_*nkr 17

最后解决了!!

1)通过developer.apple.com创建一个新的生产证书,要求您使用Keychain Access在您的计算机上创建一个新的私钥

2)在同一个开发人员门户中,打开与此应用程序一起使用的分发配置文件,然后选择刚刚创建的新生产证书.生成该条款然后下载并运行它

3)运行您的应用程序,存档它,然后导出存档.

中提琴

这花了我几天,如果不是几个星期弄清楚,我希望它可以帮助你.


Yuc*_*ram 14

创建新的iOS Distributon证书并选择Production> App Store&AdHoc部分.另外不要忘记将Target> Build Settings> Code Signing all更改为iOS Distribution.(但是在创建ipa后将其设置回iOS Developer)只有这样才能解决我的问题.


Ang*_*nov 11

我今天遇到了与Xcode 6.1.1相同的问题

当我尝试通过Xcode添加iOS Distribution证书时,我得到的错误是一样的.会员中心已经有几个已发布的分发证书,我不想让它们无效,因为如果它们用于企业环境中的Ad Hoc分发,这也会使设备上安装的应用程序无效(至少这就是我已读过).

我所做的是:
1.通过Keychain Access从证书颁发机构生成证书请求.并将请求保存到文件中;
2.登录到会员中心证书区域生产部分并请求新的"App Store和Ad Hoc"生产证书,此请求步骤1中的文件;
3.下载新证书,当在Keychain Access中导入时,它现在有一个私钥.

后来我清理了Xcode,重新启动它,检查我的帐户中的配置文件是否可见并构建了一个新的存档.现在我能够验证存档.

现在,如果我尝试申请新的"App Store and Ad Hoc"证书,此选项对我来说是灰色的,我想这是因为我的帐户已经签发了证书.如果是这种情况,您可能需要先取消之前的证书,然后才能发出新证书.这就是为什么Apple建议备份您的证书.但很可能您不需要使所有生产证书无效,因为我已经在配置文件中有许多证书.

希望这有助于某人:)


Son*_*yen 7

Apple改变了Ad Hoc构建的方式.现在,您无法使用dev cert进行Ad Hoc分发构建.您应该使用具有"Ad Hoc"配置文件的分发证书.

  • 您可以通过删除所有证书和配置文件来尝试自己,让XCode完成剩下的工作,您将看到它自动创建分发证书和临时配置文件. (2认同)
  • 我做了,谢谢.只是想知道Apple是否实际上已经在任何地方宣布它或者只是让我们弄清楚它. (2认同)

sha*_*988 6

我相信你在这个屏幕上结束的实际原因是试图将.ipa文件分发给你的测试人员和客户端.在Xcode 6中,要获取.ipa文件,您可以使用旧方法生成iPA:

  1. 在Xcode中选择管理器.在"存档"选项卡中,选择需要生成其iPA文件的存档.
  2. 右键单击并选择"在Finder中显示"选项
  3. 您将看到.xarchive文件.右键单击并选择"显示包内容"
  4. 您将看到文件夹:dSYMs,Info.plist和Products.
  5. 打开产品>应用程序,您将看到.app文件.
  6. 将此.app文件拖放到Mac中的iTunes.
  7. 您的.app文件将列在iTunes中的"我的应用"下.
  8. 右键单击您的应用程序,然后选择"在Finder中显示".

现在您有了.ipa文件,您可以将其发送给测试人员进行测试.希望这可以帮助.