Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/120.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 显示本地推送通知,除非用户点击它_Ios_Swift - Fatal编程技术网

Ios 显示本地推送通知,除非用户点击它

Ios 显示本地推送通知,除非用户点击它,ios,swift,Ios,Swift,下面是我如何创建本地通知,并在3秒钟后成功显示 let content = UNMutableNotificationContent() content.title = "Test" content.body = "Test" content.categoryIdentifier = "UYLReminderCategory" let trigger = UNTimeIntervalNotificationTrigger(timeInterval: 3,

下面是我如何创建本地通知,并在3秒钟后成功显示

let content = UNMutableNotificationContent()
    content.title = "Test"
    content.body = "Test"
    content.categoryIdentifier = "UYLReminderCategory"
    let trigger = UNTimeIntervalNotificationTrigger(timeInterval: 3,
                                                    repeats: false)
    let identifier = "UYLLocalNotification"
    let request = UNNotificationRequest(identifier: identifier,
                                        content: content, trigger: trigger)
    let snoozeAction = UNNotificationAction(identifier: "Snooze",
                                            title: "Snooze", options: [])
    let deleteAction = UNNotificationAction(identifier: "UYLDeleteAction",
                                            title: "Delete", options: [.destructive])
    let category = UNNotificationCategory(identifier: "UYLReminderCategory",
                                          actions: [snoozeAction,deleteAction],
                                          intentIdentifiers: [], options: [])
    center.setNotificationCategories([category])

    center.add(request, withCompletionHandler: { (error) in
        if let error = error {
            // Something went wrong
        }
    })
但它在几秒钟后就会隐藏起来,是否有可能阻止它隐藏起来,就像苹果内置的报警应用程序一样。
谢谢。

通知的行为由系统控制,您的应用程序无法覆盖它。
用户了解应用程序通知的显示方式



来自苹果用户支持的图像

通知的行为由系统控制,您的应用程序无法覆盖它。
用户了解应用程序通知的显示方式



来自苹果用户支持的图片

我认为这是不可能的:如果UserNotification.framework上没有特定的属性,那么您就不能这样做。此外,Settings.app/Notifications/Show Temporary/Persistent中还有一个选项。但你不能绕过用户设置。这是否意味着苹果的alarm应用程序使用了一些私有api,因为它显示的横幅确实比其他应用程序长?是的,我认为是这样,因为它甚至没有出现在应用程序的Settings.app/Notifications列表中。你不能对此进行任何更改。我认为这是不可能的:如果UserNotification.framework上没有特定的属性,那么你就不能这样做。此外,Settings.app/Notifications/Show Temporary/Persistent中还有一个选项。但你不能绕过用户设置。这是否意味着苹果的alarm应用程序使用了一些私有api,因为它显示的横幅确实比其他应用程序长?是的,我认为是这样,因为它甚至没有出现在应用程序的Settings.app/Notifications列表中。你不能对它做任何改变。这是否意味着苹果的报警应用程序使用了一些私有api,因为它显示的横幅比其他应用程序显示的横幅要长?当然。苹果可以随心所欲地使用他们的系统。谢谢,最后一个问题,当收到推送通知时,是否可以将应用程序从后台带到前台?如果用户不决定手动打开应用程序(他们录制通知),你不能强制打开应用程序。这是否意味着苹果的报警应用程序使用了一些私有api,因为它的横幅显示时间比其他应用程序长?当然。苹果可以随心所欲地使用他们的系统吗?谢谢,最后一个问题是,当收到推送通知时,是否可以将应用程序从后台转到前台?如果用户不决定手动打开应用程序(他们录制通知),你不能强制打开应用程序。