xcode 2013年如何申请iOS开发证书?

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/15979924/
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-15 03:12:06  来源:igfitidea点击:

How to request iOS Development Certificate in 2013?

iosxcode

提问by Van Du Tran

In the past we create a CSR file with Keychain Access then upload the file via the Apple Dev website. Now with the latest Xcode (4.6.1) it seems we're supposed to be able to request it via Xcode itself. I do not see that option anywhere! There's a "refresh" button in the organizer but it doesn't request the certificate for me even if mine is invalid..

过去,我们使用 Keychain Access 创建 CSR 文件,然后通过 Apple Dev 网站上传文件。现在使用最新的 Xcode (4.6.1) 似乎我们应该能够通过 Xcode 本身来请求它。我在任何地方都看不到那个选项!组织者中有一个“刷新”按钮,但即使我的证书无效,它也不会为我请求证书。

Any tips?

有小费吗?

回答by TOT

I had the same issue. It's not very clear but you need to remove the expired certificate first.

我遇到过同样的问题。不是很清楚,但您需要先删除过期的证书。

  • Click into Certificates/development.
  • Click on the expired certificate and revoke it. (This will then allow you to create a new one.)
  • Click the plus icon and select iOS App Development.
  • 单击进入证书/开发。
  • 单击过期的证书并将其撤销。(这将允许您创建一个新的。)
  • 单击加号图标并选择 iOS App Development。

回答by eplt

You need to remove all your expired certs before you can request for a new cert.

您需要先删除所有过期的证书,然后才能申请新证书。

回答by haa

My development profile expired while the iOS dev subscription was still valid, so I ran into this same problem. Thanks to you all!

当 iOS 开发订阅仍然有效时,我的开发配置文件已过期,因此我遇到了同样的问题。谢谢大家!

Here is what worked for me, after playing around with the certificates/profiles/etc for a while:

在玩了一段时间的证书/配置文件/等之后,这对我有用:

  • Removed old expired certs online as described here
  • Generated a new development cert request as described here
  • I had XCode "Refresh certs" crash multiple times as well.
    • updated XCode from 4.6.1 to 4.6.2 which was just released, still crashed.
  • Manually downloaded the "Provisioning Profile/Development" which was listed as "Active (Managed by XCode)" from the dev web site and double-clicked it and only then it was added to XCode OK. It seems you may have to do this manually, the the XCode Refresh button would not do it automatically?
  • Finally, to solve a compile (for iOS device) error "The identity 'iPhone Developer' doesn't match any valid, non-expired certificate/private key pair in your keychains", I needed to change the "Project settings-Targets-Code Signing Identity" to my current identity, as described in Code Sign error: The identity 'iPhone Developer' doesn't match any valid certificate/private key pair in the default keychain. Then the signing was successful.
  • 按照此处所述在线删除旧的过期证书
  • 如此处所述,生成了一个新的开发证书请求
  • 我的 XCode“刷新证书”也多次崩溃。
    • 将 XCode 从 4.6.1 更新到刚刚发布的 4.6.2,仍然崩溃。
  • 从开发网站手动下载列为“Active (Managed by XCode)”的“Provisioning Profile/Development”并双击它,然后才将其添加到 XCode OK。看来您可能必须手动执行此操作,XCode 刷新按钮不会自动执行此操作?
  • 最后,为了解决编译(对于 iOS 设备)错误“身份‘iPhone 开发人员’与钥匙串中任何有效的、未过期的证书/私钥对不匹配”,我需要更改“项目设置-目标-代码签名身份”到我当前的身份,如代码签名错误中所述:身份“iPhone 开发人员”与默认钥匙串中的任何有效证书/私钥对不匹配。然后签约成功。

For other Google searchers benefit, the error message I got was "your team has no current iOS development certificates ... please wait a moment and refresh".

为了让其他 Google 搜索者受益,我收到的错误消息是“您的团队没有当前的 iOS 开发证书……请稍等片刻并刷新”。

回答by Karun

Nowadays iOS App Development option is getting greyed out don't know why.

现在iOS App Development 选项变灰了,不知道为什么。

Even I had this situation and I solved it (made it enabled) using the following steps.

即使我遇到了这种情况,我也使用以下步骤解决了它(启用了它)。

  1. Remove the expired development certificates from Certificates/Development.

  2. Revoke the unused development certificates.

  3. Now click on the + button and you are free to select the

  4. iOS App Development option.

  1. 从 Certificates/Development 中删除过期的开发证书。

  2. 撤销未使用的开发证书。

  3. 现在单击 + 按钮,您可以自由选择

  4. iOS 应用程序开发选项。

回答by Sean

You can still use your keychain to create the CSR, and then upload it on the new provisioning portal. Just did it the other day.

您仍然可以使用钥匙串创建 CSR,然后将其上传到新的配置门户。前天刚做的。

回答by Kheldar

I don't think your understanding is correct. I have generated my CSR "by hand", and then I've downloaded the rest via XCode once uploaded on the portal.

我不认为你的理解是正确的。我已经“手动”生成了我的 CSR,然后在上传到门户网站后,我通过 XCode 下载了其余部分。

I understand the XCode feature is useful for teams, since you have a team Provisioning profile, and a user certificate. It might also be the case for multi-Mac development (like when I'm on my MBA or my iMac, which requires importing the private key from one keychain to the other).

我知道 XCode 功能对团队很有用,因为您有团队供应配置文件和用户证书。多 Mac 开发也可能是这种情况(例如,当我在 MBA 或 iMac 上时,需要将私钥从一个钥匙串导入到另一个钥匙串)。

Edit: I'd love to help out more, but when running the "refresh", XCode crashed on me :-)

编辑:我很乐意提供更多帮助,但是在运行“刷新”时,XCode 崩溃了 :-)

UNCAUGHT EXCEPTION (NSInvalidArgumentException): *** setObjectForKey: object cannot be nil (key: teamId)
UserInfo: (null)
Hints: None
Backtrace:
  0  0x00007fff89ffcaee __exceptionPreprocess (in CoreFoundation)
  1  0x00007fff8b3de3f0 objc_exception_throw (in libobjc.A.dylib)
  2  0x00007fff8a08b5b7 -[__NSDictionaryM setObject:forKey:] (in CoreFoundation)
  3  0x000000010acffd88 +[DTDKTeamBasedService _createRequestDictionaryForTeam:andPlatform:] (in DTDeviceKit)

Bizarre that it seems XCode tries to set the TeamId to null :/

奇怪的是,似乎 XCode 试图将 TeamId 设置为 null :/