应用程序处于后台swift时显​​示警报

时间:2015-01-02 23:21:28

标签: ios swift notifications uialertcontroller

我有一种'闹钟应用',当某个定时器达到零时,它应该给用户一个声音。 仅出于测试目的,我实现了通知,因为我不知道如何在应用程序处于后台时显示警报控制器。 此外,通知工作得很好但在模拟中它给了我选择的警报声,而在我的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的方法

1 个答案:

答案 0 :(得分:1)

当您的应用在后台时,无法运行任意代码。

如果您的应用程序的功能属于Apple定义的例外之一(例如播放音乐或提供GPS导航),则可以使用API​​继续在后台执行该任务。这似乎不适用于您的情况。

就声音而言,请参阅“安排本地通知”in this documentation下的第4点。 简短的回答是,您应该能够使用soundName属性来提供自定义声音。