Ich konnte APNS in meiner App integrieren. Jetzt möchte ich die Benachrichtigungen behandeln, wenn der Benutzer darauf klickt oder wenn der Benutzer eine Benachrichtigung erhält, während er die App verwendet. Ich verwende den folgenden Code einen Warnhinweis angezeigt wird, wenn eine Benachrichtigung empfangen wird:Run-Funktion, wenn APN empfangen wird
func application(application: UIApplication, didReceiveRemoteNotification userInfo: [NSObject : AnyObject], fetchCompletionHandler completionHandler: (UIBackgroundFetchResult) -> Void) {
// display the userInfo
if let notification = userInfo["aps"] as? NSDictionary,
let alert = notification["alert"] as? String {
var alertCtrl = UIAlertController(title: "Time Entry", message: alert as String, preferredStyle: UIAlertControllerStyle.Alert)
alertCtrl.addAction(UIAlertAction(title: "OK", style: UIAlertActionStyle.Default, handler: nil))
// Find the presented VC...
var presentedVC = self.window?.rootViewController
while (presentedVC!.presentedViewController != nil) {
presentedVC = presentedVC!.presentedViewController
}
presentedVC!.presentViewController(alertCtrl, animated: true, completion: nil)
// call the completion handler
// -- pass in NoData, since no new data was fetched from the server.
completionHandler(UIBackgroundFetchResult.NoData)
}
}
Ist es möglich, eine Funktion in meinem Mainviewcontroller anstatt zu zeigen, um den Dialog zu führen? Ich habe versucht, meine Funktion MainViewController.refreshData()
anzurufen, aber es gibt mir immer eine nil
.
Entschuldigung, ich kann das nicht in Swift konvertieren. Ich habe keinen Hintergrund in C und ich fing an, ios dev mit swift bereits zu lernen. –
verwenden Sie einfach diese Methoden, es wird Ihnen automatische Vorschläge geben, keine Notwendigkeit, sich viel zu sorgen. Es wird dein Problem lösen. – Santo
Danke! Ich habe es gemacht! Es war einfach! –