設定でプッシュ通知を有効にしているかどうかを確認する必要があります。このために私はこのコードを使用:[[UIApplication sharedApplication] currentUserNotificationSettings] .typesの呼び出しは常にUIUserNotificationTypeNoneを返します
if ([[UIApplication sharedApplication] isRegisteredForRemoteNotifications] == NO) {
NSLog(@"NO");
// NO
}
if ([[UIApplication sharedApplication]respondsToSelector:@selector(currentUserNotificationSettings)]){
UIUserNotificationSettings *noticationSettings = [[UIApplication sharedApplication] currentUserNotificationSettings];
if (!noticationSettings || (noticationSettings.types == UIUserNotificationTypeNone)) {
NSLog(@"NO");
// here it does not work, I enabled push notifications
// in settings and noticationSettings.types returns UIUserNotificationTypeNone
// NO
} else {
NSLog(@"YES");
// YES
}
}
が、問題があることUIUserNotificationTypeNone alwyas noticationSettings.types戻り、設定にか有効にプッシュ通知があるかどうかにかかわらず。
私はプッシュ通知を有効にしましたが、noticationSettings.typesからUIUserNotificationTypeNoneが返されます。問題がどこにあるのか誰にでも教えてください。おかげ
を登録しましたか?プロビジョニングプロファイルでプッシュ通知が有効になっていますか?プッシュ通知を設定で有効にするだけでは、プッシュ通知の受信を開始するだけでは不十分です。 – Sulthan
はい、私は '[[UIApplication sharedApplication] registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeNone categories:nil]];を呼び出します。 '[application:didRegisterForRemoteNotificationsWithDeviceToken:']メソッドと呼ばれます。そして、私はプッシュ通知を受け取ることができますが、[[UIApplication sharedApplication] currentUserNotificationSettings] .types'は私に「UIUserNotificationTypeNone」を返します。これは意味をなさないものです。 – user3797599