2015-01-02 4 views
0

У меня есть своего рода «приложение для сигнализации», которое должно давать пользователю звуковой шум, когда определенный таймер достигает нуля. Только для тестирования я реализовал уведомления, потому что я не понимаю, как показывать контроллер предупреждения, когда приложение находится в фоновом режиме. Кроме того, уведомление работает достаточно хорошо, но в симуляции он дает мне звук звуковой сигнализации, который я выбрал, тогда как в моем iphone он использует стандартный набор настроек моего уведомления. В выводах у меня есть две проблемы: 1. Можно ли отображать контроллер предупреждений, когда приложение находится в фоновом режиме? 2. В то время как у меня есть два разных звука при появлении уведомления. Я осуществил уведомление в виде следующегопоказать предупреждение, когда приложение находится в фоновом режиме swift

В 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

Это не возможно запускать произвольный код, пока ваше приложение находится в фоновом режиме.

Если функциональность вашего приложения попадает в одно из определенных исключений Apple (например, воспроизведение музыки или предоставление GPS-навигации), тогда доступны API-интерфейсы для продолжения выполнения этой задачи в фоновом режиме. Это не похоже на ваше дело.

Что касается звуков, см. Пункт 4 в разделе «Планирование локальных уведомлений» in this documentation. Короткий ответ заключается в том, что вы можете использовать свойство soundName для обеспечения пользовательского звука.

+0

, так что нельзя показать AlertController, пока мое приложение находится в фоновом режиме. Я посмотрю на эту ссылку. Спасибо – Nicholas

+0

Замечательно, что сработало: просто написать localNotification.soundName = "sound.wav" спасибо за подсказку Я не нашел эту ссылку! – Nicholas

+0

sapi, вы думаете, что можно повторить звук, пока пользователь не прокрутит значок? Это не представляется возможным из руководства разработчика ... – Nicholas

Смежные вопросы