Lokale Benachrichtigungen senden, während die App im Hintergrund läuft Swift 2.0

Ich versuche, dem Benutzer einen Push-Benachrichtigungs-Alarm zu senden, wenn der Benutzer die App minimiert (durch Klicken auf den Home-Button des iPhones oder durch Sperren des Telefons).

Meine App analysiert fortlaufend eine XML-Datei (alle 10 Sekunden), und ich möchte, dass die App weiterhin ausgeführt wird, damit sie dem Benutzer eine lokale Benachrichtigung sendet, sobald eine Bedingung in meinem Programm erfüllt ist, auch nachdem der Benutzer die App minimiert oder gesperrt hat ihr Telefon.

Ich bin von Tutorials abgehüpft und jeder scheint eine Benachrichtigung zu planen, aber das funktioniert bei mir nicht, weil meine Benachrichtigung nicht zeitbasiert ist, sondern auf der Erfüllung von Bedingungen basiert.

Was ich bisher gemacht habe:

AppDelegate.swift

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
    // Override point for customization after application launch.
    application.registerUserNotificationSettings(UIUserNotificationSettings(forTypes: [.Alert, .Badge, .Sound], categories: nil))
    return true
}

MapViewController.swift

// Some function
func someFunction(delta: Int) {
    if delta < 100 {
        // Send alert to user if app is open
        let alertView = UIAlertController(title: "This is an Alert!", message: "", preferredStyle: UIAlertControllerStyle.Alert)
        alertView.addAction(UIAlertAction(title: "OK", style: UIAlertActionStyle.Default, handler: nil))
        self.presentViewController(alertView, animated: true, completion: nil)

        // Send user a local notification if they have the app running in the bg
        pushTimer = NSTimer.scheduledTimerWithTimeInterval(0.5, target: self, selector: Selector("pushNotification"), userInfo: nil, repeats: false)
    }
}

// Send user a local notification if they have the app running in the bg
func pushNotification() {
    let notification = UILocalNotification()
    notification.alertAction = "Go back to App"
    notification.alertBody = "This is a Notification!"
    notification.fireDate = NSDate(timeIntervalSinceNow: 1)
    UIApplication.sharedApplication().scheduleLocalNotification(notification)
}

Der Alarm funktioniert hervorragend, solange die App geöffnet ist. Die Benachrichtigung wird jedoch nie angezeigt, wenn ich die App auf meinem Telefon minimiere. Ich gehe davon aus, dass die App nicht im Hintergrund ausgeführt wird oder dass ich dieses Konzept nicht so gut verstehe. Jede Hilfe wird sehr geschätzt.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage