无法设置一个 AWS SNS 来服务开发 (APNS_SANDBOX) 和生产 (APNS)

Rot*_*tem 4 amazon-web-services apple-push-notifications amazon-sns ios

也许AWS不支持这一点,但是,在Apple开发者控制台上创建认证时,我选择了“Apple推送通知服务SSL(沙盒和生产)”。我用这个认证来建立一个SNS。如果我选中“用于沙箱中的开发”复选框,则通知将在通过 XCODE 而不是通过 testflight 编译应用程序时起作用,如果我使用此认证并取消选中此复选框,则通知将在 testflight 中起作用,但在 XCODE 中不起作用。

我的印象是这种新型认证可以用于开发和生产,所以我有点困惑。AWS 似乎知道我的应用程序是为开发还是生产而编译的。

有没有一种方法可以在 iOS 上建立一个 SNS 进行开发和生产?

Jor*_*ndo 8

我今天刚刚和我的 AWS 团队经历了这个过程。(我是一名 iOS 开发人员,所以如果我没有使用正确的 AWS 术语,请原谅我。希望它足够接近。)

新证书可用于沙盒和生产。但是,必须为每个端点创建一个 AWS SNS 端点(ARN?) 。正如您所说,如果您选中“用于沙箱中的开发”复选框,它将在从 Xcode 运行时开始工作,但不适用于 TestFlight 应用程序。这是非此即彼,而不是两者兼而有之。

要使其正常工作,您需要创建两个SNS 端点。您可以对两个端点使用相同的“Apple 推送通知服务 SSL(沙盒和生产)”APNS 证书,但仅在其中一个端点中选中“用于沙盒中的开发”。

我不知道这是否适用于您的情况,但对于我的应用程序,我们的 AWS 团队在我们的设备注册 API 中添加了“开发”标志,以便他们可以区分是否将通知发送到 APNS 或 APNS_SANDBOX 端点。