【发布时间】:2017-06-07 15:00:51
【问题描述】:
我已根据此演练设置推送通知:https://www.appcoda.com/firebase-push-notifications/
但是当我从 Firebase 发送测试消息时,它没有显示出来。我遵循了所有步骤,我有有效的证书:
为推送通知设置的配置文件:
在我的 App ID 下,它显示通知已启用:
我已将证书上传到 Firebase:
在我的AppDelegate didFinishLaunchingWithOptions:
if #available(iOS 10.0, *) {
// For iOS 10 display notification (sent via APNS)
UNUserNotificationCenter.current().delegate = self
let authOptions: UNAuthorizationOptions = [.alert, .badge, .sound]
UNUserNotificationCenter.current().requestAuthorization(
options: authOptions,
completionHandler: {_, _ in })
// For iOS 10 data message (sent via FCM
FIRMessaging.messaging().remoteMessageDelegate = self
} else {
let settings: UIUserNotificationSettings =
UIUserNotificationSettings(types: [.alert, .badge, .sound], categories: nil)
application.registerUserNotificationSettings(settings)
}
application.registerForRemoteNotifications()
连同AppDelegate中的Firebase回调方法:
func applicationReceivedRemoteMessage(_ remoteMessage: FIRMessagingRemoteMessage) {
print(remoteMessage.appData)
}
显然我已经导入了:
import UserNotifications
import FirebaseInstanceID
import FirebaseMessaging
我不确定为什么推送通知不起作用,似乎一切都已就绪。我所做的唯一不同寻常的事情是从 Target -> Code Signing 中删除权利,因为当我尝试运行应用程序时,它给了我一个无效权利错误。现在它已被删除,该应用程序运行良好。我确实对这个单独的问题有一个悬而未决的问题,但现在我假设这不是我的问题的原因。
为了确认,我不需要在添加通知后重新下载 Google plist 吗?在添加通知之前,我在我的项目中使用了 Firebase,所以我已经有了。
感谢您为通知工作提供任何帮助!
【问题讨论】:
-
请从 Xcode 中删除设备并尝试您是否收到推送?。并且有些时候在开发模式下确实注册了通知而不是调用。
-
有谁知道添加 FirebaseMessaging/notifications 后是否需要重新下载 Google-Info.plist 文件?在我尝试添加通知之前,我的应用中有 Firebase,所以我有原始 plist。
标签: ios swift xcode apple-push-notifications entitlements