iOSでプッシュ通知を実装する傾向があります。私はそれを成功させました。しかし今、私は奇妙な問題に直面しています。私はXCodeを終了し、それを再び開いた、コードは変更されていない、私はまだdeviceTokenを取得していますが、今私は私のデバイス上のプッシュ通知を受信していません。私もFirebaseを使って通知を受けていますが、それもうまくいきましたが、今はデバイストークンとして空の文字列を与えています。didRegisterForRemoteNotificationsWithDeviceTokenが呼び出されましたが、プッシュ通知は送信されません。
私は、次のコードを使用していますAppDelegateで:私はXCodeのをやめるまで
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 triggered and I am getting the push notification token but using this instead of firebase token to send directly via APNS is also not working.
public func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
Messaging.messaging().setAPNSToken(deviceToken, type: .sandbox)
}
//This is triggered but the token here is a blank string
func messaging(_ messaging: Messaging, didRefreshRegistrationToken fcmToken: String) {
Messaging.messaging().subscribe(toTopic: "ios_topic")
}
これは働いていたが、突然、それは任意のコードを変更せずに動作を停止。私はシステムの再起動を含めてすべてを試しました。 didRegisterForRemoteNotificationsWithDeviceToken
が新しくインストールされている間に、一度許可を与える前ともう一度許可が与えられた後に二度呼び出されることがあります。