English 中文(简体)
iOS 更新发行证书的正确方式
原标题:Proper way to renew distribution certificate for iOS

我的分发证书将于6月7日到期, 连同我的所有提供文件。 我该如何适当更新它? 我应该现在撤销它, 并要求新的吗? 如果我这样做, 我所有的活应用程序都会被拆掉吗?

最佳回答

您的现场应用程序将不会被拆除。 任何在应用程序商店里直播的东西都不会发生任何事件 。

一旦它们正式过期,将受到影响的唯一东西就是你能够签署代码(从而建造新的建筑并提供更新)。

关于分发证书,一旦过期,它就会从成员中心 的 `证书、 身份识别器 & amp; 配置文件'部分中消失。 如果您想要在证书过期前续延证书, 请撤销当前证书, 然后按一个按钮请求新证书 。

关于提供配置文件,在到期前不要担心, 只要继续使用它。 它很容易在过期后更新。

心灵的宁静是,不会发生任何事情 你的活应用程序在商店。

问题回答

当您的证书过期时, 它会从“ 证书、 身份识别器 & amp; 配置文件” 部分的成员中心 中消失。 没有允许您更新证书的“ 更新” 按钮。 < enger> 您可以在证书过期前撤销证书并生成新的证书 。 或者您可以等待证书过期并消失, 然后生成新的证书 。 在 < a href=" https:// developer. apple. com/library/ ios/ documentation/IDEs/ Confitual/ AppdiscritionGuide/ MaintainingCerficates/MaintainingCerticates. html#// apple_ ref/doc/ uid/TP400182- CH31- SW29" 中, rel= " noreferr" > App App App App vidution 指南 : :

<强度 > 替换过期证书

When your development or distribution certificate expires, remove it and request a new certificate in Xcode.

当您的证书过期或被吊销时, 任何使用过期/ 过期证书的配置配置文件都将被反映为“ 无效 ” 。 您不能使用这些无效的配置文件创建和签名任何应用程序 。 正如您可以想象的那样, 我宁愿在证书过期前撤销并重生证书 。

问:如果我这样做,那么我的所有现场应用程序都会被拆掉吗?

已经在App 仓库中的 < strong> 应用程序继续运行良好 。 < / strong> 再次运行。 < a href=" https:// developler.apple.com/library/ios/documentation/IDES/Confictual/AppdispulationGuide/MaintainingCertificates/MaintainingCertificates.html#/apple_ref/doc/uid/TP400012582-CH31-SW34" rel=“noreferr” 标题=“Re-Crection 证书和更新相关供应概况” >App App 分发指南 :

Important: Re-creating your development or distribution certificates doesn’t affect apps that you’ve submitted to the store nor does it affect your ability to update them.

那么... So... So...

问:我如何适当更新?

如上所述,没有证书的更新。遵循以下步骤,撤销和再生新的证书以及受影响的提供情况简介。Xcode 8.3和Xcode 9的说明已经更新。

Step 1: Revoke the expiring certificate

登录到 < a href=> "http:// developmenter.apple.com/count" rel= "noreferrer" > member Center & gt; 证书、 身份识别器 & amp; 配置文件, 选择过期证书。 注意证书的过期日期, 并单击“ Revoke” 按钮 。

Step 2: (Optional) Remove the revoked certificate from your Keychain

可以选择, 如果您不想在您的系统中设置被撤销的证书, 您可以从您的系统中删除这些证书。 不幸的是, Xcode & gt; 首选项 & gt; 账户 & gt; [Apple ID] & gt; 管理证书... 似乎总是禁用, 因此我们不得不使用 Keycain Access 手动删除这些证书 。 app (/ applications/ plities/ Keycain Access. app) 中的“ 删除证书 ” 功能 。

< a href="https://i.sstatic.net/TsQb2.png" rel="noreferrer"\img src="https://i.sstatic.net/TsQb2.png" alt="使用 Keycain Access.app"//a"可选择地删除被吊销的证书。

以“ login” 键链和“ 证书” 类别过滤。 找到您刚刚在步骤1中取消的证书 。

取决于您刚刚撤销的证书, 搜索 ` Mac'或'iPhone'。 MacApp 仓库发行证书从“ 3 Party Mac Developinger” 开始, iOS App 仓库发行证书从“ iPhone 发行” 开始。

您可以根据团队名称、证书类型(Mac或iOS)和您在步骤1中注明的证书的有效期,找到被吊销的证书。

Step 3: Request a new certificate using Xcode

在 Xcode & gt; 首选项 & gt; 账户 & gt; [Apple ID] & gt; 管理证书..., 点击左下方的\\ 按钮, 并选择您刚刚撤销的相同类型的证书, 以便让 Xcode 请求为您设置新的证书 。

< a href="https://i.sstatic.net/dxF7r.png" rel="noreferrer"\img src="https://i.sstatic.net/dxF7r.png" alt="让Xcode在Xcode & gt; 优惠 & gt; 账户 & gt; 苹果 ID & gt; 管理证书中为您申请新的证书..."/ {/a>

Step 4: Update your provisioning profiles to use the new certificate

之后, 返回 < a href=" "http:// developmenter. apple. com/ account" rel= "noreferrer" > member Center & gt; 证书、 身份识别器 & amp; 配置文件 & gt; 提供配置文件 & gt; all. 您会注意到, 任何使用被吊销证书的提供配置文件现在都反映为“ 无效 ” 。

< a href="https://i.sstatic.net/Riob5.png" rel="noreferrer"\\\ img src="https://i.stistic.net/Riob5.png" alt="通知使用被吊销证书的任何提供说明现在都反映为`无效'//a。

点击任何当前“ 无效” 的配置文件, 单击“ 编辑”, 然后选择新创建的证书, 然后点击“ Generate” 。 重复一遍, 直到所有提供配置文件的配置文件都与新证书重新生成为止 。

< a href="https://i.sstatic.net/dKgLJ.png" rel="noreferrer"\img src="https://i.sstatic.net/dKgLJ.png" alt="选择新创建的证书,点击 Generate"//a"

Step 5: Use Xcode to download the new provisioning profiles

Tip : 在您使用 Xcode 下载新配置文件之前, 您可能需要从您的 Mac 中清除任何现有且可能无效的提供配置文件。 您可以从 中删除所有配置文件, 从而清除所有配置文件 。

在 Xcode & gt; 首选项 & gt; 账户 & gt; [Apple ID] 中, 点击“ 下载全部配置文件” 按钮, 要求 Xcode 从开发者账户下载所有提供配置文件 。

< a href="https://i.sstatic.net/4Wsr9.png" rel="noreferrer"\img src="https://i.sstatic.net/4Wsr9.png" alt="Click 下载 Xcode 的所有配置文件以下载所有新生成的配置文件"//a"

截至2020年1月和Xcode 11.3.1 -

  • Open Xcode
  • Open Xcode Preferences (Xcode->Preferences or Cmd-,)
  • Click on Accounts
  • At the left, click on your developer ID
  • At the bottom right, click on Manage Certificates...
  • In the lower left corner, click the arrow to the right of the + (plus)
  • Select Apple Distribution from the menu

Xcode 将自动创建苹果发行证书, 在 Keyclance Access 中安装此证书, 并更新 Xcode 签名信息

(注:现在提供单一的Apple分发 证书,而不是以前的iOS分发 证书和等效证书。 )

很简单的是更新您的证书。 转到您的开发者成员中心, 并转到您的“ 提供” 配置文件, 查看什么是“ 激活和不激活” 证书, 并选择“ 非激活” 证书, 并点击 编辑 按钮, 然后按下生成按钮。 现在, 您的证书将成功续签一年 。 感谢您。

这真是一条很有帮助的线索, 我遵循了与@junjie 提到的同样的步骤, 但对我来说有些奇怪的事情发生了,

  1. Went to developer portal and revoked the certificate which was about to expire.
  2. Went to XCode6.4 and in the Account settings, the certificate still showed valid, I went crazy.
  3. Then I opened XCode7, there the certificate was shown with "Reset" button instead of create and I hit the reset button and later in the portal I was able to see an extended certificate present. This is what Apple says about Reset button

If Xcode detects an issue with a signing identity, it displays an appropriate action in Accounts preferences. If Xcode displays a Create button, the signing identity doesn’t exist in Member Center or on your Mac. If Xcode displays a Reset button, the signing identity is not usable on your Mac—for example, it is missing the private key. If you click the Reset button, Xcode revokes and requests the corresponding certificate.

  1. I tried creating an Appstore ipa with that, just to test and it worked fine so I am saved, but still not sure what has happened. May be I had multiple accounts configured in my Mac, dont know.




相关问题
List Contents of Directory in a UITableView

I am trying to list the contents of Ringtones directory in a TableView, however, I am only getting the last file in the directory in ALL cells, instead of file per cell. This is my code: - (...

iPhone NSUserDefaults persistance difficulty

In my app i have a bunch of data i store in the NSUserdefaults. This information consists of an NSObject (Object1) with NSStrings and NSNumbers and also 2 instances of yet another object (Object2). ...

Writing a masked image to disk as a PNG file

Basically I m downloading images off of a webserver and then caching them to the disk, but before I do so I want to mask them. I m using the masking code everyone seems to point at which can be found ...

Resize UIImage with aspect ratio?

I m using this code to resize an image on the iPhone: CGRect screenRect = CGRectMake(0, 0, 320.0, 480.0); UIGraphicsBeginImageContext(screenRect.size); [value drawInRect:screenRect blendMode:...

Allowing interaction with a UIView under another UIView

Is there a simple way of allowing interaction with a button in a UIView that lies under another UIView - where there are no actual objects from the top UIView on top of the button? For instance, ...

热门标签