iOS UiLocalNotification格式

Pin*_*kle 4 ios uilocalnotification

我正在向当前项目添加本地通知,我注意到一些奇怪的东西.我正在做的是当一块硬件电池电量不足时显示警告.当应用程序在前台时(我用警报视图替换通知),字符串显示正常.然而,当应用程序在后台时,我的百分位符号消失.

    @"%@ has less than %i%% battery left!"
Run Code Online (Sandbox Code Playgroud)

是我正在使用的字符串.在警报视图中,它将显示"X剩余电量低于10%!"之类的内容.但是后台通知显示"X还剩下不到10个电池!"

以前有人见过吗?

编辑(添加代码段)

UILocalNotification *lc = [[UILocalNotification alloc] init];
lc.fireDate = [[NSDate alloc]init];
lc.alertBody = [NSString stringWithFormat:@"%@ has less than %i%% battery left!", name, percentage];

lc.timeZone = [NSTimeZone defaultTimeZone];
lc.applicationIconBadgeNumber = lc.applicationIconBadgeNumber + 1;

[[UIApplication sharedApplication] scheduleLocalNotification:lc];
Run Code Online (Sandbox Code Playgroud)

其中name是NSString,百分比是int

Pin*_*kle 5

我发现使用等效的unicode字符会使它在警报视图和通知中都起作用.我把我的字符串改为:

@"%@ has less than %i\uFF05 battery left!"
Run Code Online (Sandbox Code Playgroud)

但是,我仍然想知道为什么转义不适用于本地通知.