2016-07-27 16 views
0

AlertViewにユーザーがボタンをクリックしたときにのみプッシュ通知を許可するように要求しています。プッシュ通知のポップアップが登録せずに表示されますか?

私はボタンのアクションでプッシュ通知のために登録:

[[UIApplication sharedApplication] registerForRemoteNotifications]; 

そして、明らかに、通知をプッシュする関連するデリゲートメソッドはappDelegateに実装されています。

私のappDelegateに登録していないのに、アプリケーションを起動するとプッシュ通知が表示されるという警告が表示されます。

実際、私の知るところでは、registerForRemoteNotificationsを呼び出すとalertViewは表示されません。

私に何か不足していますか?

答えて

0

まず、UIUserNotificationSettingsを登録するには、このコードが必要です。

UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:(UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound|UIRemoteNotificationTypeAlert) categories:nil]; 
[[UIApplication sharedApplication] registerUserNotificationSettings:settings]; 

上記のコードを呼び出すと、このデリゲートメソッドが呼び出します。

- (void)application:(UIApplication *)application didRegisterUserNotificationSettings:(UIUserNotificationSettings *)notificationSettings 
{ 
    [application registerForRemoteNotifications]; 
} 
関連する問題