6

我正在实现推送通知,我将其转换为 iOS 应用程序中的本地通知。

当 iPhone 被锁定(Face ID / Touch ID)时,我看到默认情况下为“通知”的通知正文。

当 iPhone解锁(Face ID / Touch ID)时,我会看到整个通知内容。

我试图将警报标题更改为硬编码文本。还尝试更改其他属性,但我没有设法解决它。

这就是我创建本地通知的方式:

    UILocalNotification *notification = [[UILocalNotification alloc] init];
    notification.userInfo = dictionary;
    [notification setAlertTitle:@"alertTitle"];
    [notification setAlertBody:@"alertBody"];
    
    [notification setFireDate:[NSDate date]];
    [notification setTimeZone:[NSTimeZone  defaultTimeZone]];
   
    [[UIApplication sharedApplication] presentLocalNotificationNow:notification];

我想要的是 - 尽管设备处于锁定状态,但仍显示通知的标题,就像 WhatsApp 一样。

解锁状态

解锁

锁定状态

锁定

如您所见,使用相同的设置 - 即使 iPhone 被锁定,WhatsApp 也会显示标题。

4

2 回答 2

0

UILocalNotification已弃用。您应该改用该UserNotifications框架。

通知内容由除了和属性之外UNNotificationContent还具有属性的用户管理。我很确定该属性是手机锁定时显示的属性。subtitletitlebodysubtitle

于 2019-04-01T16:11:45.717 回答
0

我相信你让用户为每个应用程序设置这个。转到系统设置 > 您的应用 > 通知 > 显示预览 > 始终。请注意,您还可以更改一个默认设置,该设置会影响您未明确配置的所有应用程序。转到系统设置 > 通知 > 显示预览以更改它。

在此处输入图像描述

于 2019-03-25T12:23:44.460 回答