2017-03-15 63 views
0

目前,我有一个将通知发送到我的Mac应用程序的服务器。然而,在我发布的应用程序,我想能够发送推送通知使用生产骨干,而不是发展(沙盒)键,我的应用程序,并使用生产服务器。这样我就可以确保App Store上的所有东西都能正常工作。我知道iPhone有adhoc,允许这个,但mac似乎没有这个选项。有一个开发配置文件,但它只适用于开发(沙箱)环境。任何方式在生产模式下测试mac应用推送通知?Mac应用程序:如何在生产服务器上测试mac应用程序推送通知?

回答

1

是的,有办法与苹果推送通知服务SSL(生产)证书,以测试APN,虽然您的应用程序将被使用生产环境,而是和该权利将需要改变:

com.apple.developer.aps-environmentdeveloperproduction

许多推送通知服务器不会处理错误响应,也不会强制丢弃连接。一个简单的方法来检查这是 故意发送通知的沙箱环境设备 道理,假设你的服务器与生产推动 环境中的通信。这样做会返回一个无效的令牌响应,并且会丢失连接。要了解更多关于 推送服务检查错误响应,请参阅Push Notification Throughput and Error Checking

有两种环境允许事故的回旋余地,而你正在构建的应用程序。如果对服务器发送方式很自信,并且应用程序在沙盒中接收到APN,则创建生产证书并向自己发送通知以确保其正常工作。

注:还有就是推送服务 一个单独的持久连接为每个环境。该操作系统建立一个持久 连接,为发展建立在沙箱环境,而广告 特别和分布构建连接到生产环境中。

+0

看来,我需要我的应用程序在生产模式下运行。我该如何在App商店之外做到这一点。 iOS有adhoc,但是mac没有。我已经将com.apple.developer.aps-environment设置为生产环境,但我仍然获得沙盒设备标记,因为我的应用程序未使用我的分发/生产配置文件运行。 – Weakman10122

+0

@ Weakman10122:生成您的应用程序的生产证书,你做的沙盒开发证书,并与生产证书替换它们。他们应该像沙箱版本一样在App Store之外工作,除了您需要更改上述权利,并且您不会使用开发证书。 –

+0

@ Weakman10122你找到了解决方案吗?我也有同样的问题。即使将com.apple.developer.aps-environment更改为生产,也只需获取沙盒令牌。 Xcode不喜欢我手动改变它。 – jannej