ChatGPT解决这个技术问题 Extra ChatGPT

为 iOS 更新分发证书的正确方法

我的分发证书以及我的所有配置文件将于 6 月 7 日到期。我如何正确更新它?我现在应该撤销它并要求一个新的吗?如果我这样做,我的所有实时应用程序都会被删除吗?

不管什么原因,在多年没有使用这个帐户后,我收到了关于这个回复的通知。我还没有死(还)。我还要感谢多年来在 StackOverflow 上帮助我的每个人。我 14 岁(现在 21 岁)时写了这个问题。从那以后,我一直在制作 iOS 应用程序,并且很快将在 Apple 开始全职工作(从我记事起就是我的梦想)。再次感谢一路上帮助过的每一个人!
好故事!是的,岁月流逝!你甚至无法想象在在线 QA 之前编程是如何完成的。干杯

A
Andy Obusek

您的实时应用不会被删除。应用商店中的任何内容都不会发生任何事情。

一旦它们正式到期,唯一会受到影响的是您签署代码的能力(从而进行新的构建和提供更新)。

关于您的分发证书,一旦过期,它就会从会员中心的“证书、标识符和配置文件”部分消失。如果您想在到期前更新它,请撤销当前证书,您将获得一个按钮来申请新证书。

关于配置文件,到期前不用担心,继续使用即可。到期后只需更新它就很容易了。

放心的是,您在商店中的实时应用不会发生任何事情。


谢谢,今天过期了。更新他们没有问题。
仅供参考。我吊销了用于企业分发的证书,并且没有提供续订证书的选项。它刚刚消失了。应用程序已关闭(无法安装),直到我使用新证书重建它。
嘿,不要撤销你的内部证书!!重新启动/3 天后,您的内部应用程序将无法运行,除非您可以在该时间段内更新所有应用程序。 Apple 允许您创建 2 个内部应用程序,以便它们可以相互重叠,然后您可以使用它更新您的新应用程序。不要撤销它。您唯一可以撤销的是 App-Store 证书,而无需停止现有的应用程序。
严格来说,您不能更新证书,您必须生成新证书 - 请参阅developer.apple.com/library/ios/#documentation/IDEs/Conceptual/…
自上次编辑此答案以来,有些事情发生了变化。现在过期的证书不会从列表中消失;它们显示为“已过期”。撤销现有分发证书会将其从列表中删除,您不会获得请求新证书的按钮。
j
junjie

当您的证书过期时,它会从“证书、标识符和会员中心的个人资料部分。没有“更新”按钮可让您更新证书。 您可以在证书过期之前撤销证书并生成新证书。或者您可以等待它过期并消失,然后生成一个新证书。在 Apple's App Distribution Guide 中:

替换过期证书 当您的开发或分发证书过期时,将其删除并在 Xcode 中请求新证书。

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

问:如果我这样做了,我所有的在线应用程序都会被删除吗?

已经在 App Store 上的应用可以继续正常运行。同样,在 Apple's App Distribution Guide 中:

重要提示:重新创建您的开发或分发证书不会影响您提交到商店的应用程序,也不会影响您更新它们的能力。

所以…

问:如何正确续订?

如上所述,没有更新证书。请按照以下步骤吊销和重新生成新证书以及受影响的配置文件。 Xcode 8.3 和 Xcode 9 的说明已更新。

第 1 步:吊销即将到期的证书

登录到 Member Center >证书、标识符和配置文件,选择即将到期的证书。记下证书的到期日期,然后单击“撤销”按钮。

https://i.stack.imgur.com/j5cpl.png

第 2 步:(可选)从您的钥匙串中删除已撤销的证书

或者,如果您不希望系统中存在已撤销的证书,您可以将它们从系统中删除。不幸的是,Xcode > Preferences > Accounts > [Apple ID] > Manage Certificates 中的“删除证书”功能似乎总是被禁用,所以我们必须使用 Keychain Access.app (/Applications/Utilities/Keychain Access.应用程序)。

https://i.stack.imgur.com/TsQb2.png

按“登录”钥匙串和“证书”类别过滤。找到您刚刚在步骤 1 中吊销的证书。

根据您刚刚吊销的证书,搜索“Mac”或“iPhone”。 Mac App Store 分发证书以“3rd Party Mac Developer”开头,iOS App Store 分发证书以“iPhone Distribution”开头。

您可以根据团队名称、证书类型(Mac 或 iOS)以及您在步骤 1 中记下的证书的到期日期来定位被吊销的证书。

第 3 步:使用 Xcode 申请新证书

在 Xcode > Preferences > Accounts > [Apple ID] > Manage Certificates... 下,单击左下角的“+”按钮,然后选择您刚刚撤销的相同类型的证书,让 Xcode 为您请求一个新证书.

https://i.stack.imgur.com/dxF7r.png

第 4 步:更新您的配置文件以使用新证书

之后,返回 Member Center >证书、标识符和简介 >配置文件 >全部。您会注意到,任何使用已撤销证书的配置文件现在都反映为“无效”。

https://i.stack.imgur.com/Riob5.png

单击现在“无效”的任何配置文件,单击“编辑”,然后选择新创建的证书,然后单击“生成”。重复此操作,直到使用新证书重新生成所有配置文件。

https://i.stack.imgur.com/dKgLJ.png

第 5 步:使用 Xcode 下载新的配置文件

提示:在使用 Xcode 下载新配置文件之前,您可能需要从 Mac 中清除所有现有的和可能无效的配置文件。您可以通过从 ~/Library/MobileDevice/Provisioning Profiles 中删除所有配置文件来做到这一点

返回 Xcode > Preferences > Accounts > [Apple ID],单击“下载所有配置文件”按钮以要求 Xcode 从您的开发人员帐户下载所有配置文件。

https://i.stack.imgur.com/4Wsr9.png


嗨俊杰,谢谢!我正面临使用 Xcode 7 的 this problem。如果我撤销分发证书,使用 AdHoc 分发配置文件发布的应用会发生什么情况?他们还活着吗?谢谢
@Frade 根据 Apple:iOS 分发证书(内部、内部使用的应用程序),用户将不再能够运行已使用此证书签名的应用程序。您必须分发使用新证书签名的应用程序的新版本。请参阅developer.apple.com/support/certificates
我问的是 AdHoc,但可能是同样的情况。谢谢
@junjie 如果商店中发布的应用程序具有推送通知权利,会发生什么情况?证书过期后还能发送推送通知吗?
@Otávio 您的应用分发证书(我们在这个问题中处理的内容)与您的 APNS 证书是分开的。 APNS 证书不是应用程序二进制文件的一部分。您可以撤销/更新您的 APNS 证书,而无需更新您的应用程序二进制文件。需要 APNS 证书的是您的推送服务器。
l
leanne

截至 2020 年 1 月和 Xcode 11.3.1 -

打开 Xcode

打开 Xcode Preferences (Xcode->Preferences 或 Cmd-,)

点击账户

在左侧,点击您的开发者 ID

在右下角,单击管理证书...

在左下角,单击 +(加号)右侧的箭头

从菜单中选择 Apple Distribution

Xcode 会自动创建一个 Apple Distribution 证书,安装在 Keychain Access 中,并更新 Xcode 的签名信息

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


好奇:从苹果收到我的邮件以更新 iOS 分发证书。没有信息表明我应该创建一个 Apple 分发证书。
电子邮件没有提到它,@ekkescorner。它在在线文档中。
这个重新创建证书的新工作流程听起来太容易了;-) 再次感谢
并编辑您的配置文件以包含此证书
S
Shanmugasundharam

很简单就是更新你的证书。转到您的开发人员会员中心并转到您的配置文件并查看证书 Active 和 InActive 并选择 Inactive certificate 并点击 Edit 按钮然后点击 generate 按钮。现在您的证书已成功续订 1 年。谢谢


@Shanmugasundharam,我们是否在创建配置文件后在应用商店中推送新版本。
这仍然需要一个从 xcode 生成的 .csr 文件,至少,从我发现的内容。从 developer.apple.com/account,我转到“证书、ID 和配置文件”->“配置文件”。我看到一个 ReleaseProfile 和一个 TestingProfile。两者都在“过期”列下显示“无效”。我单击 ReleaseProfile,然后单击“编辑”。在“证书”下,它显示“没有可用的证书”,并带有“创建证书”按钮。我点击它。然后我选择“iOS 分发”和“继续”。现在,为了创建它,我需要“选择文件”,这意味着上传一个 CSR 文件,我认为它只能从 xcode 生成。
发现我可以通过在 Linux 中运行来生成 CSR: **** openssl req -nodes -newkey rsa:2048 -keyout private_key.key -out cer_sign_request.csr **** 不敢相信有这么多答案到需要 xcode 的“如何生成证书 csr”,而没有提到这个简单的解决方案,它不需要清理我的旧 Mac 并启动笨重的 IDE。
@NirajPaul 您的应用程序仍然适用于从商店下载它的用户,如果您从商店下载它,它甚至可以为您工作。这只会影响使用配置文件将应用程序放在设备上的用户(即,您从 xCode 构建它并将其安装在您的设备上)。过去、现在和未来的用户不会注意到任何不同。 stackoverflow.com/a/7128502/3493877 来自这里
R
Rahul Makwana

大家好..

我找到了更新 IOS 证书的最佳方法,只需简单的步骤。在这里,每个人都可以毫无疑问地更新。

IOS 证书更新/证书更改步骤:

1)打开钥匙链访问。

2) 点击显示证书。

3)钥匙串访问=>证书助手=>向证书颁发机构请求证书..

4) 打开开发者控制台 => 帐户 => 证书 IDS & Profiles。

5) 点击 Certificates + 图标并创建一个新的 => ios Distribution (app store and Ad Hoc)。然后点击继续按钮后。

6) 选择并上传证书 => 之后点击下载按钮下载上传的证书。

7)然后编辑证书,然后更新最新上传的证书。

8) 打开 Xcode => 点击签名和功能 => 下载配置文件 => 选择配置文件新上传的证书。

参考视频链接 https://youtu.be/v19ZoFa1cJs


a
anoop4real

这是一个非常有用的线程,我遵循了与@junjie 提到的相同的步骤,但对我来说发生了一些奇怪的事情,以下是我所做的步骤。

前往开发者门户并撤销即将到期的证书。转到 XCode6.4 并在帐户设置中,证书仍然显示有效,我发疯了。然后我打开 XCode7,证书显示为“重置”按钮而不是创建,我点击了重置按钮,稍后在门户中我能够看到扩展证书存在。这就是Apple所说的重置按钮

如果 Xcode 检测到签名身份存在问题,它会在 Accounts 首选项中显示适当的操作。如果 Xcode 显示创建按钮,则会员中心或 Mac 上不存在签名身份。如果 Xcode 显示重置按钮,则签名身份在您的 Mac 上不可用 - 例如,它缺少私钥。如果单击 Reset 按钮,Xcode 会撤销并请求相应的证书。

我尝试用它创建一个 Appstore ipa,只是为了进行测试,它运行良好,所以我得救了,但仍然不确定发生了什么。可能是我在我的 Mac 中配置了多个帐户,不知道。