アプリでリモート プッシュ通知を使用しようとしており、アプリ内でこのテストを実行しようとしていましたが、最初に [許可] をタップした後、アラート ポップアップをリセットできませんでした。
だから私の質問は:
ユーザーがアラート ポップアップで [許可しない] をタップした場合でも、デバイス トークンを取得できますか?
アプリでリモート プッシュ通知を使用しようとしており、アプリ内でこのテストを実行しようとしていましたが、最初に [許可] をタップした後、アラート ポップアップをリセットできませんでした。
だから私の質問は:
ユーザーがアラート ポップアップで [許可しない] をタップした場合でも、デバイス トークンを取得できますか?
appDelegate メソッドを使用する
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken
{
self.mDeviceToken = deviceToken;
//Removing the brackets from the device token
NSString *tokenString = [[deviceToken description] stringByTrimmingCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@"<>"]];
NSLog(@"Push Notification tokenstring is %@",tokenString);
}
エラーの場合
- (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error
{
NSString* s=[[NSString alloc] initWithFormat:@"%@",error];
UIAlertView *alert=[[UIAlertView alloc] initWithTitle:@"Error" message:s delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alert show];
[alert release];
[s release];
// lert because your device will not show log
}
-(void)application:(UIApplication*)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken
{
NSLog(@"My token is: %@", deviceToken);
}
このようにしてiPhoneデバイストークンを取得します
次のデリゲート メソッドを使用します...
-(void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken{
NSLog(@">>%@",deviceToken);// this will give you token
}
-(void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error{
NSLog(@">>%@",error); // this will gave you error msg with description.
}
うまくいけば、これはあなたを助けるでしょう..