Ich bin neu in der IOS-Programmierung. Ich habe Probleme mit Benachrichtigungen in IOS Swift 2. Ich sende Benachrichtigungen vom Server, wenn App nicht getötet (Equivalent in Android onPause()
) Ich kann Benachrichtigung behandeln und öffnen App funktioniert normal, gehen Sie zur Benachrichtigungs-URL. Wenn ich App (Equivalent in Android onDestroy()
) Benachrichtigung Griff nicht arbeiten, App öffnen und schließen (Equivalent in Android onPause()
) automatisch und App arbeitet auf Hintergrund und nicht gehen Benachrichtigung URL.So umgehen Sie den gekillten App-Status für die Benachrichtigung in IOS Swift 2
func application(application: UIApplication, didReceiveRemoteNotification userInfo: [NSObject : AnyObject]) {
print(userInfo)
if let aps = userInfo["aps"] as? NSDictionary {
let link_url:String = (aps["link_url"] as? String)!
self.notifUrl = link_url
if(!self.appActive! && self.mainView != nil) {
self.mainView?.loadLink(link_url)
}
}
}
func application(application: UIApplication, didReceiveRemoteNotification userInfo: [NSObject : AnyObject], fetchCompletionHandler completionHandler: (UIBackgroundFetchResult) -> Void) {
if let aps = userInfo["aps"] as? NSDictionary {
let link_url:String = (aps["link_url"] as? String)!
self.notifUrl = link_url
if(!self.appActive! && self.mainView != nil) {
self.mainView?.loadLink(link_url)
}
}
}
HINWEIS: Wenn ich App SIGKILL Fehler getötet.
Was ist das Problem? Wie kann ich es reparieren?
Alle Zeit (App getötet oder nicht) Benachrichtigung geliefert Gerät, aber wenn App getötet Ich kann App nicht von Benachrichtigungsaktion öffnen –
Es war nicht klar, dass das Ihre eigentliche Frage war. In diesem Fall muss es ein Problem mit Ihrem Code sein. Wenn die App über eine Benachrichtigung aus einem abgeschlossenen Status gestartet wird, wird nicht didReceiveRemoteNotification aufgerufen, sondern didFinishLaunchingWithOptions: mit einem bestimmten Parameter "launchOptions". Überprüfen Sie die Dokumentation dafür und überprüfen Sie Ihren Code für didFinishLaunchingWithOptions, um festzustellen, ob ein Fehler vorliegt. – Gruntcakes
Danke für die Richtung. ' func Anwendung (Anwendung: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: ANYOBJECT]?) -> Bool { lassen notificationTypes: UIUserNotificationType = [UIUserNotificationType.Alert, UIUserNotificationType.Badge, UIUserNotificationType.Sound] _ = UIUserNotificationSettings (forTypes: notificationTypes , Kategorien: null) let Einstellungen = UIUserNotificationSettings (forTypes: [.alert, .Badge, .Sound] Kategorien: null) application.registerUserNotificationSettings (Einstellungen) application.registerForRemoteNotifications() return true } ' –