繁体   English   中英

iOS FCM无法在从AppStore Obj-C下载的应用程序上运行

[英]iOS FCM not working on downloaded app from AppStore Obj-C

所以我在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。

我想念什么吗? 给予的任何帮助都受到高度赞赏。

谢谢

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

FIRMessagingAPNSTokenTypeSandbox

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

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

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

无论如何,如果您禁用了打喷嚏(就像以前一样)

通过在应用程序的Info.plist中将FirebaseAppDelegateProxyEnabled设置为NO

您需要指定APN令牌:

禁用欺诈:映射您的APNs令牌和注册令牌如果禁用了方法欺诈,则需要将您的APNs令牌显式映射到FCM注册令牌。 覆盖方法didRegisterForRemoteNotificationsWithDeviceToken以检索APNs令牌,然后设置FIRMessaging的APNSToken属性:

#ifdef DEBUG
[[FIRMessaging messaging] setAPNSToken:deviceToken type:FIRMessagingAPNSTokenTypeSandbox];
#else
[[FIRMessaging messaging] setAPNSToken:deviceToken type:FIRMessagingAPNSTokenTypeProd];
#endif

要不就

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

要么

[FIRMessaging messaging].APNSToken = deviceToken;

应用的APNS令牌类型。 如果令牌类型设置为UNKNOWN,则Firebase Messaging会隐式尝试从配置文件中找出实际的令牌类型。 除非确实需要指定类型,否则应改用APNSToken属性。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM