当应用程序处于后台时显示警报 swift
show alert while app is in background swift
我有一种 'Alarm app' 当某个计时器达到零时应该给用户一个声音。
出于测试目的,我实现了通知,因为我不知道如何在应用程序处于后台时显示警报控制器。
此外,通知工作得很好,但在模拟中它给了我我选择的警报声音,而在我的 iphone 中它使用我的通知设置的标准铃声。
总之,我有两个问题:
1. 是否可以在应用程序处于后台时显示警报控制器
2.当通知发生时我有两种不同的声音。我将通知实现如下
在AppDelegate
中在didFinishLaunchingWithOptions
方法中
let notificationSettings = UIUserNotificationSettings(forTypes: UIUserNotificationType.Alert | UIUserNotificationType.Sound | UIUserNotificationType.Badge, categories: nil)
UIApplication.sharedApplication().registerUserNotificationSettings(notificationSettings)
在applicationWillResignActive
NSNotificationCenter.defaultCenter().postNotificationName("scheduleNotifications", object: self)
其中 scheduleNotifications
作为我的 ViewController
的一个方法实现
当您的应用程序处于后台时,无法 运行 任意代码。
如果您的应用程序的功能属于 Apple 定义的例外情况之一(例如播放音乐或提供 GPS 导航),则可以使用 API 继续在后台执行该任务。这似乎不适用于您的情况。
就声音而言,请参阅 'Scheduling Local Notifications' in this documentation 下的第 4 点。
简短的回答是,您应该能够使用 soundName
属性 来提供自定义声音。
我有一种 'Alarm app' 当某个计时器达到零时应该给用户一个声音。 出于测试目的,我实现了通知,因为我不知道如何在应用程序处于后台时显示警报控制器。 此外,通知工作得很好,但在模拟中它给了我我选择的警报声音,而在我的 iphone 中它使用我的通知设置的标准铃声。 总之,我有两个问题: 1. 是否可以在应用程序处于后台时显示警报控制器 2.当通知发生时我有两种不同的声音。我将通知实现如下
在AppDelegate
中在didFinishLaunchingWithOptions
方法中
let notificationSettings = UIUserNotificationSettings(forTypes: UIUserNotificationType.Alert | UIUserNotificationType.Sound | UIUserNotificationType.Badge, categories: nil)
UIApplication.sharedApplication().registerUserNotificationSettings(notificationSettings)
在applicationWillResignActive
NSNotificationCenter.defaultCenter().postNotificationName("scheduleNotifications", object: self)
其中 scheduleNotifications
作为我的 ViewController
当您的应用程序处于后台时,无法 运行 任意代码。
如果您的应用程序的功能属于 Apple 定义的例外情况之一(例如播放音乐或提供 GPS 导航),则可以使用 API 继续在后台执行该任务。这似乎不适用于您的情况。
就声音而言,请参阅 'Scheduling Local Notifications' in this documentation 下的第 4 点。
简短的回答是,您应该能够使用 soundName
属性 来提供自定义声音。