2016-10-09 6 views
0

スライダーを作成しようとしているときに、通知を有効にするポップアップが表示され、falseの場合は通知が無効になります。ここに私の現在のコードがあります。スイッチを使用して通知を有効または無効にするにはどうすればよいですか?

-(IBAction)NotifSwitch:(id)sender { 
if (_NotifSwitch.on) { 

    UIUserNotificationSettings *notificationSettings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeAlert categories:nil]; 

    [[UIApplication sharedApplication] registerUserNotificationSettings:notificationSettings]; 
} 
else { 
    [[UIApplication sharedApplication] unregisterForRemoteNotifications]; 
} 
    } 

AppDelegateの真の部分にコードを使用して、アプリケーションを初めて起動したときの通知のポップアップを表示しました。何らかの理由でAppDelegateの外部では動作しませんが。

+0

無関係ですが、なぜあなたは 'setOn:animated:'メソッドを呼び出しますか?スイッチにはすでに適切な値が表示されます。 – rmaddy

+0

何らかの理由で、アプリが凍結していないときにアプリが凍結していました。私はただその問題を解決しました。コードを更新しましょう。 – thebootsie123

+0

"それは機能していません"とはどういう意味ですか? iOSでは通知ポップアップが1回だけ表示されることを覚えておいてください。アプリをアンインストールして再インストールしない限り、ユーザーの決定は保持され、再度確認することはありません。 – jcaron

答えて

0

もちろんAppDelegateの外では動作していません。アプリが最初に起動したときにコードは1回だけ実行されます。 contollerで状態を切り替える2つのメソッドを宣言することができます。

-(void)switchOnRemoteNotification; 
-(void)switchOffRemoteNotification; 

スイッチがオンになっているときは、switchOn ...メソッドを呼び出し、逆にswitchOff ...メソッドを呼び出します。

関連する問題