2
我在我的應用程序中遇到了這個奇怪的問題。我正在嘗試使用Firebase將推送通知集成到我的應用程序中。我使用下載的SDK(不使用pod)將Firebase SDK包含在項目中。我已經包含在應用程序下載的zip文件如下框架:推送通知在iOS中檢索,但不在Firebase中
在AppDelegate中
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate, UNUserNotificationCenterDelegate, MessagingDelegate {
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
FirebaseApp.configure()
return true
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 })
} else {
let settings: UIUserNotificationSettings =
UIUserNotificationSettings(types: [.alert, .badge, .sound], categories: nil)
application.registerUserNotificationSettings(settings)
}
application.registerForRemoteNotifications()
}
// This is called and the access token is received.
func application(_ application: UIApplication,
didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
var token = ""
for i in 0..<deviceToken.count {
token = token + String(format: "%02.2hhx", arguments: [deviceToken[i]])
}
print(token)
Messaging.messaging().setAPNSToken(deviceToken, type: .sandbox)
}
// This is not getting called
func messaging(_ messaging: Messaging, didRefreshRegistrationToken fcmToken: String) {
Messaging.messaging().subscribe(toTopic: "ios_topic")
}
訪問令牌我didRegisterForRemoteNotificationsWithDeviceToken
得到的是有效的,我成功發送推送到設備使用它。但是FireBase的didRefreshRegistrationToken
沒有被調用。我在鏈接標誌中添加了-ObjC
,在info.plist
中添加了FirebaseAppDelegateProxyEnabled
作爲NO
。我在項目根目錄中添加了文件,並且在FireBase控制檯中正確配置了項目。
這裏有什麼可能的問題,以及如何解決它?