2016-02-20 2 views
0

В настоящее время я пытаюсь отобразить предупреждающее сообщение как всплывающее окно в моем приложении. Когда приложение в настоящее время находится на экране, работает с переднего плана, оно показывает всплывающее окно. Однако проблема заключается в том, что при запуске приложения в фоновом режиме всплывающее окно не отображается в iOS. Он отображается только тогда, когда пользователь возвращается в приложение.Показать предупреждение в Swift 2.0 Xcode 7, когда приложение находится в фоновом режиме

Вот всплывающие исходный код:

func popupDeAlerta(){ 
    // Dismiss Message 
    let alertController = UIAlertController(title: "Alert title", message: 
     "alert message", preferredStyle: UIAlertControllerStyle.Alert) 

    AudioServicesPlayAlertSound(SystemSoundID(kSystemSoundID_Vibrate)) // vibration 

    alertController.addAction(UIAlertAction(title: "Ok", style: UIAlertActionStyle.Default,handler: nil)) 
    self.presentViewController(alertController, animated: true, completion: nil) 
} 

ответ

1

Да это право поведение, оповещение контроллер представления показывает предупреждение только на этом контроллере, в котором он добавляется как:

alertController.addAction(UIAlertAction(title: "Ok", style: UIAlertActionStyle.Default,handler: nil)) 
    self.presentViewController(alertController, animated: true, completion: nil) 

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

Notifications Link Here

+0

Лучший способ, который я не нашел до сих пор: На Appdelegate.swif есть предварительно определенная функция: функ applicationDidEnterBackground (приложение: UIApplication) {} Ive добавлен следующий код: уведомление ЛПЭ = UILocalNotification() notification.alertAction = "Заголовок сообщения" notification.alertBody = "Тело сообщения" notification.fireDate = NSDate (timeIntervalSinceNow: 5) notification.soundName = УИЛ ocalNotificationDefaultSoundName notification.category = "INVITE_CATEGORY"; UIApplication.sharedApplication(). ScheduleLocalNotification (уведомление) –

0

Лучший способ, который я не нашел до сих пор. Если у кого-то есть другие предложения или можно обсудить дальше, это очень приветствуется. На Appdelegate.swif имеется предопределенная функция под названием applicationDidEnterBackground. Просто сделал это так:

func applicationDidEnterBackground(application: UIApplication) { 

let notification = UILocalNotification() 
notification.alertAction = "Title Message" 
notification.alertBody = "Body Message" 
notification.fireDate = NSDate(timeIntervalSinceNow: 5) 
notification.soundName = UILocalNotificationDefaultSoundName 
notification.category = "INVITE_CATEGORY"; 
UIApplication.sharedApplication().scheduleLocalNotification(notification) } 
Смежные вопросы