誰でもAPNSで私を助けてくれますか. 問題は、アラートが発生していない場合、バックグラウンド状態ではなく、実行状態でのみペイロードを受信できることです。アプリケーションがバックグラウンドおよび実行状態にあるときに、通知とペイロードを受け取ることができます。
- (void)applicationDidBecomeActive:(UIApplication *)application
{
NSLog(@"entered the condition applicationDidBecomeActive");
if ( application.applicationIconBadgeNumber == 0 ){
NSLog(@"app was already in the foreground");
}
else{
NSDictionary *userInfo;
NSDictionary *apsDic = [userInfo valueForKey:@"aps"];
NSString *alertStr = [apsDic valueForKey:@"alert"];
NSLog(@"alertstring =%@",alertStr);
NSString *msgStr = [userInfo valueForKey:@"m"];
NSLog(@"messtring= %@",msgStr);
NSNumber *badgeNum = [apsDic valueForKey:@"badge"];
NSLog(@"Badge Number = %@",badgeNum);
NSLog(@"app was already in the background");
}
}
問題は、「アプリがすでにフォアグラウンドにあった」と言うたびに、バッジ番号を読み取ることができないことです