【问题标题】:iOS - What happens I lost my APNs Key file?iOS - 我丢失了 APNs 密钥文件会怎样?
【发布时间】:2018-07-27 07:33:34
【问题描述】:

我刚刚从 Apple Developer 网站创建了 APNs 密钥文件。它在说“不要丢失这把钥匙”。我已经有备份,但如果丢失了会怎样?

这也是说我只需要一个 APNs 密钥即可用于所有应用程序。

我可以创建多个 APNs 密钥还是应该只创建一个?如果我丢失了这个,我是不能只为那个应用发送通知,还是不能为我的任何应用发送通知?

提前致谢。

【问题讨论】:

  • 您需要私有 APN 密钥来发送通知。如果您丢失了密钥,您将无法发送通知。
  • 仅适用于使用此密钥注册的应用程序或我将来要发布的所有应用程序? @MichaelVorontsov
  • 您是在询问 .p8 文件还是...
  • 询问两者。如果我丢了会怎样?我可以创建多个吗?我应该将它用于所有应用程序还是仅用于一个应用程序? @Krunal
  • 绝对可以创建其他。你不能使用旧的。

标签: ios push-notification apple-push-notifications


【解决方案1】:

您可以拥有多个.p8 文件。 .p8 文件用于在服务器端生成JWT Token,用于通过HTTP2 向Apple 的APNS 服务器发送推送通知。唯一的问题是,如果你丢失了它,你必须在服务器端重新生成一个新的。它根本不会影响现有应用,因为它绑定到 bundleId、applicationId 和开发者帐户。

换句话说,它不是应用程序必须重新签名的证书或其他任何东西。

场景更简单:

  • 我创建了一个名为 MyApp 的应用,BundleId 为:com.SO.myApp
  • 我使用帐户 RT8NCD 创建了一个 APNS .p8 文件。
  • 在服务器端,我使用这个 .p8 文件通过HTTP2JWT Token 生成向com.SO.myApp 发送通知。
  • 我将应用发布到 AppStore。

  • 然后我丢失了.p8 文件,无法将推送发送到我已经在商店中的应用程序!

我该怎么办?

  • 我进入开发者门户并使用相同的 AppId 和 BundleId 以及相同的帐户重新创建一个新的 .p8 文件。
  • 然后在服务器端,我使用这个.p8 文件向我的数据库中注册的设备发送推送通知。
  • 我不需要发布新应用或新版本或任何东西。

因此,换句话说,losing 它并没有真正的任何后果。但是,认真对待丢失密钥、证书等的做法并不是一个好主意。

附:我不能保证这种行为将来不会改变。是苹果。尽量不要丢东西。

【讨论】:

  • 这正是我要问的。感谢您清除此问题。
  • @Brandon 一个问题,如果我们撤销现有的密钥会发生什么?用户已经安装的所有应用程序是否也会受到影响?
  • @fajarainul 您应该先创建一个新密钥,然后在您的推送服务器上使用该新密钥测试推送通知。最后/最后,撤销旧密钥。如果您先撤消旧密钥,您将无法恢复它,并且您的应用将受到影响直到您设置一个新密钥并使用您的服务器对其进行测试。这与丢失密钥相同,您必须创建一个新密钥并撤销旧密钥,因此适用相同的规则。
  • 这澄清了我过去一小时一直在寻找的一切。非常清晰简洁的答案。非常感谢!
【解决方案2】:

您可以为每个应用创建一个 APN 密钥(一个用于开发,一个用于生产),但您也可以重新创建它,所有注册到所有 APN 的设备都将由新密钥支持

【讨论】:

  • 我不是在问 .p12 文件。我问的是“APNs”、“.p8”文件。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-27
相关资源
最近更新 更多