我目前正在尝试在我的应用中弹出警告消息。当应用程序当前在屏幕上,从前台运行时,它会显示弹出窗口。但是,问题是当应用程序在后台运行时,弹出窗口不会显示在iOS上。仅在用户重新登录应用程序时显示。
这是弹出源代码:
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)
}
答案 0 :(得分:1)
是的,这是正确的行为,警报视图控制器仅在添加它的控制器上显示警报,如:
alertController.addAction(UIAlertAction(title: "Ok", style: UIAlertActionStyle.Default,handler: nil))
self.presentViewController(alertController, animated: true, completion: nil)
如果您想要一段时间后自动提醒您的操作,您必须在应用中实施通知。
答案 1 :(得分: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) }