2016-09-09 10 views
2

起動が完了した後、私たちのアプリ内でプッシュ通知を有効または無効にする必要があります。私はこの機能を起動後、そして私のアプリの "アカウント設定"で行います起動が完了した後、またはアプリ内でプッシュ通知を有効/無効にする

私は以下のコードを試しましたが、うまくいきません。

if (cell.switchButton.on) { 
    if ([[UIApplication sharedApplication]respondsToSelector:@selector(isRegisteredForRemoteNotifications)]) { 

     UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeSound | UIUserNotificationTypeAlert | UIUserNotificationTypeBadge categories:nil]; 
     [[UIApplication sharedApplication] registerUserNotificationSettings:settings]; 
     [[UIApplication sharedApplication] registerForRemoteNotifications]; 
    } 
} 
else { 
    [[UIApplication sharedApplication] unregisterForRemoteNotifications]; 
} 

私の要件:私は、有効または無効通知トグルを自分のアプリケーション内のプログラムではなく、直接設定に行く - >通知。

+0

何のエラー以下のように設定アプリのオープン通知セクション?説明してください – Shubhank

+0

無効にした後に一度チェックしてください設定ページで完了しましたか? –

答えて

3

Appleはあなたがそのようなアプリの 新バージョンは、すべてのタイプのサポートを削除するときのように、唯一のまれな状況でこのメソッドを呼び出す必要があり

を言ったように、それは完全にAPNSの登録を解除しますリモート 通知。ユーザーは、設定アプリの通知セクションからアプリが一時的にリモート通知を受信するのを防ぐことができます。ここ

あなたは、サーバー側のプッシュ通知を無効に実装する場合、それは良くなるlink

です。 APNを送信しないようにサービスを行うようにサーバーの担当者に指示してください。

たりすることもできます

if (&UIApplicationOpenSettingsURLString != NULL){ 
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]]; 
} 
+1

は、プログラムで通知切り替えを有効または無効にすることができます。私はトグルを設定して無効にしたり有効にしたりしないことを意味します。代わりに、私は自分のアプリ内でプログラム的にトグルを切り替えることができます。 –

1

registerForRemoteNotificationTypesunregisterForRemoteNotificationTypesをそれぞれ呼び出すと、アプリケーションでプッシュ通知を簡単に有効または無効にできます。

[[UIApplication sharedApplication] registerForRemoteNotifications]; 

が正確に動作していない何

[[UIApplication sharedApplication] unregisterForRemoteNotifications]; 
+0

これはios 10で動作していません。 –

1

を無効にする有効にするには?

デバイストークン(アプリデリゲートのapplication:didRegisterForRemoteNotificationsWithDeviceToken:)またはエラー(application:didFailToRegisterForRemoteNotificationsWithError:)がありますか?

代わりの方法として、購読と購読解除の代わりに、ユーザーの設定をサーバーに保存することができます(通知を受信するかどうか)。あなたはunregisterForRemoteNotificationsを使用してはならない

関連する問題