如何使用 Xcode 4.3 或 Application Loader 向 App Store 提交应用程序

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/9718267/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-14 23:39:35  来源:igfitidea点击:

How do I submit an app to the App Store using Xcode 4.3 or Application Loader

iosxcodesubmissionapp-store

提问by Peter

I have my first iOS app in "Waiting for upload" status in iTunes Connect but I am unable to submit it to the App Store because of issues I am having in Xcode 4.3 in Application Loader.

我的第一个 iOS 应用程序在 iTunes Connect 中处于“等待上传”状态,但由于我在 Application Loader 的 Xcode 4.3 中遇到问题,我无法将其提交到 App Store。

In Xcode 4.3 I have 3 provisioning profiles

在 Xcode 4.3 中,我有 3 个配置文件

  • Ad hoc provisioning profile
  • App Store provisioning profile (valid signing identity not found) <-- What signing identity? I downloaded this from the Provisioning Portal!
  • iOS Team provisioning profile
  • 临时配置文件
  • App Store 配置文件(未找到有效的签名身份)<-- 什么签名身份?我是从 Provisioning Portal 下载的!
  • iOS 团队配置文件

After building and archiving my application I click "Distribute" and choose iOS App Store. I enter my iTunes Connect username and password but get the following error message - No Identities Available for signing. What does that mean?

构建并归档我的应用程序后,我单击“分发”并选择 iOS App Store。我输入了我的 iTunes Connect 用户名和密码,但收到以下错误消息 - 没有可供签名的身份。这意味着什么?

Error message - no identities available for signing

错误消息 - 没有可用于签名的身份

So I tried using Application Loader. I chose Ad Hoc or Enterprise Distribution in Xcode and exported the application file into a folder. I selected that file in Application Loader but got the following error "Application failed codesign verification". When did Xcode sign the application and with which profile?

所以我尝试使用 Application Loader。我在 Xcode 中选择了 Ad Hoc 或 Enterprise Distribution,并将应用程序文件导出到一个文件夹中。我在 Application Loader 中选择了该文件,但收到以下错误“应用程序未能通过协同设计验证”。Xcode 何时签署应用程序以及使用哪个配置文件?

It looks like most of the tutorials and documentation I have found online are for older versions of Xcode. I have changed several of my Code Signing and Build Settings with no luck.

看起来我在网上找到的大多数教程和文档都是针对旧版 Xcode 的。我已经更改了我的几个代码签名和构建设置,但没有运气。

Could you please help?

能否请你帮忙?

Thanx

谢谢

采纳答案by Dominik Hadl

I am not sure about the certificates - but for my app I have it like this. In the provisioning portal go to Certificates/Distribution and make sure you have certificate here and it is valid and you downloaded it - you must also have the private keys! (don't forget on the apple WWDR certificate). Then in Provisioning/Distribution make sure you had created a certificate for your app ID. It should work after setting them up in Xcode (below).

我不确定证书 - 但对于我的应用程序,我有这样的。在配置门户中转到证书/分发并确保您在此处拥有证书并且它是有效的并已下载 - 您还必须拥有私钥!(不要忘记在苹果 WWDR 证书上)。然后在 Provisioning/Distribution 中确保您已经为您的应用 ID 创建了一个证书。在 Xcode 中设置它们后它应该可以工作(如下)。

But, I know one thing. You don't have to submit your app through the Application Loader. When you open Xcode, go to your project Build settings and setup your distribution certificates. Then you should Archive your app - simply change the run scheme to iOS device (in the upper left part of Xcode), then tap Product (in the Mac status bar) and Archive.

但是,我知道一件事。您不必通过应用程序加载程序提交您的应用程序。当您打开 Xcode 时,转到您的项目构建设置并设置您的分发证书。然后你应该存档你的应用程序 - 只需将运行方案更改为 iOS 设备(在 Xcode 的左上角),然后点击产品(在 Mac 状态栏中)和存档。

Once the archiving has been done, open Organizer and find Archives tab. Then select your archive and click on Verify/Submit the app. That should be it :)

存档完成后,打开管理器并找到存档选项卡。然后选择您的存档并单击验证/提交应用程序。应该是这样:)

NB: Taken from the iOS provisioning portal guide, "Confirm that you are selecting “Request a Certificate From a Certificate Authority...” and not selecting “Request a Certificate From a Certificate Authority with …” meaning make sure that a private key is NOT selected in Key Chainwhen creating the certificate.

注意:摘自 iOS 配置门户指南,“确认您正在选择“从证书颁发机构请求证书...”而不是选择“从具有...的证书颁发机构请求证书”,这意味着确保私钥是创建证书时未在 Key Chain 中选择

回答by Russ

Somewhat obvious but check that your bundle identifier matches exactly. I was up all night trying to submit to the App Store and got the 'No Identities are available for signing' error. Turns out one letter was capitalized on the distribution profile and lower case on the bundle identifier set in Xcode.

有点明显,但请检查您的包标识符是否完全匹配。我整晚都在试图提交到 App Store 并收到“没有可用于签名的身份”错误。结果证明,分发配置文件中的一个字母大写,Xcode 中设置的包标识符中的一个字母大写。

回答by Jojodmo

It's actually a very common problem. If you want to upload it, when exporting from XCode, choose 'Save as enterprise or Ad Hoc Deployment'

这实际上是一个非常普遍的问题。如果要上传,从 XCode 导出时,选择“另存为企业或临时部署”

Choose this when exporting app

导出应用程序时选择此项

not submit it to the ios app store. It should generate a .ipa file. Open application loader, choose the application you would like to add to iTunesConnect, and when it asks you for the file, select the .ipa file that XCode created.

不要提交到ios应用商店。它应该生成一个 .ipa 文件。打开应用程序加载器,选择您要添加到 iTunesConnect 的应用程序,当它要求您提供文件时,选择 XCode 创建的 .ipa 文件。

回答by Timothy Tripp

I'd bump up Chris Livdah's answer but my rep isn't high enough. Chris - thanks, this led to the solution for me. In fact I already had distribution provisioning profiles created but they had just recently expired. The error message xCode was giving just said "No identities were available for signing" even though the private/public keys were correctly in the Key Store. To fix I just did the following:

我会提高 Chris Livdah 的回答,但我的代表不够高。克里斯 - 谢谢,这为我找到了解决方案。事实上,我已经创建了分发配置文件,但它们最近刚刚过期。即使私钥/公钥在密钥库中正确,xCode 给出的错误消息也只是说“没有身份可用于签名”。为了修复我只是做了以下事情:

  1. From the iOS Provisioning Portal, select "Provisioning" on the left
  2. Under "Provisioning Profiles" select "Distribution" (this is where I could see that the provisioning profiles had expired
  3. Click on the expired Provisioning Profile
  4. Click "Edit"
  5. Select the Certificate you want to use for the Provisioning Profile
  6. Click "Generate"
  7. Click "Download"
  8. Open the file (it should launch xCode and add it to the Organizer)
  1. 在 iOS Provisioning Portal 中,选择左侧的“Provisioning”
  2. 在“配置文件”下选择“分发”(这是我可以看到配置文件已过期的地方
  3. 单击过期的配置文件
  4. 点击“编辑”
  5. 选择要用于配置文件的证书
  6. 点击“生成”
  7. 点击“下载”
  8. 打开文件(它应该启动 xCode 并将其添加到管理器中)

After this I was able to submit the update to the App Store no problem. They really need a better error message.

在此之后,我能够将更新提交到 App Store,没问题。他们真的需要更好的错误信息。

回答by Ele

The important thing about to Publish your app is to check that your Bundle Identifier matches with App's Bundle Identifier in iTunes Connect.

发布您的应用程序的重要事项是检查您的捆绑标识符是否与 iTunes Connect 中的应用程序捆绑标识符匹配。

回答by Chris Livdahl

I had this same issue. To fix it I went to the iOS Provisioning Portal, then selected "Provisioning" on the left. Then, I selected the "Distribution" tab and hit the "New Profile" button to create a new app distribution provisioning profile.

我有同样的问题。为了修复它,我去了 iOS Provisioning Portal,然后在左侧选择了“Provisioning”。然后,我选择了“分发”选项卡并点击“新建配置文件”按钮来创建一个新的应用分发配置文件。