iOS FCM无法从AppStore Obj-C下载应用程序

时间:2017-12-21 04:18:24

标签: ios objective-c firebase-cloud-messaging

所以我在我的info.plist

中有这个
FirebaseAppDelegateProxyEnabled = NO 

我正在使用.p8(APNs身份验证密钥)进行firebase项目配置。我不生成和使用APNs证书(开发或生产证书)

当我使用Xcode进行测试时,调试和发布模式都正常工作。我的所有设备都可以毫无问题地接收FCM。

但是,当我尝试从App Store下载应用程序并触发某些FCM时,所有设备都没有收到该消息。

这就是我设置APNs令牌的方式

- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
NSLog(@"APNs device token retrieved: %@", deviceToken);

[[FIRMessaging messaging] setAPNSToken:deviceToken type:FIRMessagingAPNSTokenTypeSandbox];
}

我已将所有firebase pod更新为最新版本。我目前正在使用FirebaseMessaging 2.0.7。仅供参考,我没有在我的firebase配置中添加任何App Store ID。

我错过了什么吗?给予的任何帮助都非常受欢迎。

由于

1 个答案:

答案 0 :(得分:0)

也许我来晚了,但是您正在通过使用以下命令为调试令牌配置FCM SDK

FIRMessagingAPNSTokenTypeSandbox

因此发行版本无法正常工作。

除非您已禁用滚动,否则就不需要该行:

[[FIRMessaging messaging] setAPNSToken:deviceToken type:FIRMessagingAPNSTokenTypeSandbox];

无论如何(如您一样)禁用了打结功能

  

通过在应用程序的FirebaseAppDelegateProxyEnabled中将NO设置为#ifdef DEBUG [[FIRMessaging messaging] setAPNSToken:deviceToken type:FIRMessagingAPNSTokenTypeSandbox]; #else [[FIRMessaging messaging] setAPNSToken:deviceToken type:FIRMessagingAPNSTokenTypeProd]; #endif   Info.plist

您需要指定APN令牌:

  

禁止打扰:映射您的APNs令牌和注册令牌,如果   您已禁用方法切换,则需要明确映射您的   APNs令牌到FCM注册令牌。覆盖方法   didRegisterForRemoteNotificationsWithDeviceToken来检索APN   令牌,然后设置FIRMessaging的APNSToken属性:

[[FIRMessaging messaging] setAPNSToken:deviceToken type:FIRMessagingAPNSTokenTypeUknown];

或者只是

[FIRMessaging messaging].APNSToken = deviceToken;

=B2&C2&D2
  

应用的APNS令牌类型。如果令牌类型设置为UNKNOWN   Firebase Messaging将隐式尝试找出实际的   令牌类型来自供应配置文件。除非你真的需要   指定类型,则应改用APNSToken属性。