APN 证书之间的区别

Difference between certificates for APNs

开发服务器和生产服务器的证书有什么区别吗?

如果我有 my_certificate.p12 并为 ApnService 提供该信息

 <bean id="apnsServiceFactory" class="org.apache.camel.component.apns.factory.ApnsServiceFactory">
    <property name="feedbackHost" value="feedback.sandbox.push.apple.com" /> 
    <property name="feedbackPort" value="2196" />
    <property name="gatewayHost" value="gateway.sandbox.push.apple.com" />        
    <property name="gatewayPort" value="2195" />
    <property name="certificatePath" value="file:etc/my_certificate.p12" />
    <property name="certificatePassword" value="111" />
</bean>

是否等于那个?

<bean id="apnsServiceFactory" class="org.apache.camel.component.apns.factory.ApnsServiceFactory">
    <property name="feedbackHost" value="feedback.push.apple.com" />
    <property name="feedbackPort" value="2196" />
    <property name="gatewayHost" value="gateway.push.apple.com" />
    <property name="gatewayPort" value="2195" />
    <property name="certificatePath" value="file:etc/my_certificate.p12" />
    <property name="certificatePassword" value="111" />
</bean>

我的意思是,我是否可以仅使用 1 个证书获得一些推送和反馈,或者我必须同时拥有两个证书? 对于开发测试,我应该使用 gateway.sandbox.push.apple.com 还是可以使用 feedback.push.apple.com ?

当您处于开发模式时,我的意思是对于通过 Xcode 或 OTA 安装在设备中的构建,通知必须使用开发证书并且需要使用 gateway.sandbox.push.apple.com 发送通知。

但是在生产模式下,我的意思是一旦你测试了一切看起来不错,并将构建上传到 AppStore/TestFlight。因此,对于这些构建,您需要使用 production/distribution 证书并需要通过 feedback.push.apple.com.

发送

更新:

如果您需要通用的开发和分发方式。然后停止使用证书,而是开始使用基于令牌的 APNs 密钥。您可以在此处参考有关基于令牌的 APNs 密钥的更多详细信息:https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/establishing_a_token-based_connection_to_apns