如果应用程序未运行(如时钟应用程序),我可以使用 iOS 本地通知吗?
Posted
技术标签:
【中文标题】如果应用程序未运行(如时钟应用程序),我可以使用 iOS 本地通知吗?【英文标题】:Can I use iOS local notifications if app is not running (like Clock app)? 【发布时间】:2018-05-31 16:28:02 【问题描述】:即使我的应用没有运行,我也想使用 ios 本地 UNNotifications
。就像我们在时钟应用程序中使用闹钟一样。我们可以设置闹钟,然后退出我们的时钟应用程序,但是......声音和通知将按时运行。我需要相同类型的行为。
有可能吗?
我的代码摘录:
import UIKit
import UserNotifications
class ViewController: UIViewController, UNUserNotificationCenterDelegate
override func viewDidLoad()
super.viewDidLoad()
let content = UNMutableNotificationContent()
content.title = "Our title"
content.body = "A body of message"
UNUserNotificationCenter.current().delegate = self
content.sound = UNNotificationSound.default()
let trigger = UNTimeIntervalNotificationTrigger(timeInterval: 60, repeats: false)
let request = UNNotificationRequest(identifier: "testID", content: content, trigger: trigger)
UNUserNotificationCenter.current().add(request, withCompletionHandler: nil)
【问题讨论】:
闹钟应用程序使用私有API,您可以做的就是在特定日期触发通知以仅播放30秒的声音,但内置的IOS闹钟应用程序有Apple的特殊处理 你能回答我的问题并给我所有的苹果链接(如果有的话)吗? 【参考方案1】:检查此Apple Document 大约 30 秒
本地和远程通知可以指定自定义警报声音 通知发送时播放。您可以打包音频 aiff、wav 或 caf 文件中的数据。因为他们玩的是 系统声音设施,自定义声音必须在以下之一 音频数据格式:
线性 PCM
MA4 (IMA/ADPCM)
微定律
法律
将自定义声音文件放入您的应用程序包或库/声音中 应用程序容器目录的文件夹。自定义声音必须在 播放时 30 秒。如果自定义声音超过该限制,则 而是播放默认系统声音。
Apple 制作的内置时钟应用程序。有特殊待遇(没办法)
【讨论】:
那么,我不能用电池电量来处理我的应用程序(与时钟相同)?没有关于特殊待遇的说法。仅关于声音... 不像他说的那样:你可以安排特定的日期,30 多岁,有声音和文字——就是这样以上是关于如果应用程序未运行(如时钟应用程序),我可以使用 iOS 本地通知吗?的主要内容,如果未能解决你的问题,请参考以下文章
UILocalNotification - 应用程序未运行时如何处理?