iOS 5.1.1 で UILocalNotification を生成すると、alertBody に「%」などの特殊文字を表示できません。Apple のドキュメントには、'%' char の文字列フォーマッタは '%%' であると明確に記載されています。
関連するコードは次のとおりです。
UILocalNotification *localNotification = [[UILocalNotification alloc] init];
localNotification.timeZone = [NSTimeZone defaultTimeZone];
localNotification.fireDate = [NSDate dateWithTimeIntervalSinceNow:20.0];
localNotification.alertBody = [NSString stringWithFormat:@"Test %%"];
NSLog(@"Local notification's alert body is %@",localNotification.alertBody);
localNotification.alertAction = @"View";
localNotification.soundName = UILocalNotificationDefaultSoundName;
localNotification.applicationIconBadgeNumber = 1;
[[UIApplication sharedApplication] scheduleLocalNotification:localNotification];
alertBody を絶対に指定しようとすると、同じことが起こります。 localNotification.alertBody = @"Test %";
完全に機能する UIAlertView を生成するために同じコードを試しました。これはiOSのバグですか?