2016-08-03 9 views
1

In iOS10 Benutzerbenachrichtigungen wurden von Apple überarbeitet. Jetzt versuche ich meine App auf diese Veränderungen einzustellen, folgende this:Typ UNUserNotificationCenter hat kein Mitglied aktuelle, schnelle 2.3

let center = UNUserNotificationCenter.current() 

gibt mir eine Fehlermeldung:

Type UNUserNotificationCenter has no member current, swift 2.3 

Ich weiß, dass das Tutorial für swift3 vielleicht ist. Aber ich muss es in swift 2.3 machen. Ist es überhaupt machbar und wenn ja, wie?

Antwort

4

Die Dokumentation scheint im Widerspruch zu sich selbst zu stehen. Obwohl es die current() Methode beschreibt und sagt, es zu verwenden, zeigen die Beispiele let center = UNUserNotificationCenter.currentNotificationCenter().

Wie Sie sagen, kann dies eine Swift-Version Abhängigkeit sein.

+0

Funktioniert für mich, danke! –

+0

Kannst du einen Link zu diesen Beispielen posten, weil ich jetzt aus wohl gleichen Gründen noch etwas weitergeblieben bin? –

+1

@ Async Online-Dokumentation: https://developer.apple.com/reference/usernotifications/unusernotificationcenter –

2

für Xcode 8/ios9/10

einfach verwenden:

import UserNotifications 

. .

// swift 3.0: 
    if #available(iOS 10.0, *) { 
     let center = UNUserNotificationCenter.current() 
     center.requestAuthorization(options: [.alert, .sound]) { (granted, error) in 
      // Enable or disable features based on authorization. 
     } 

    } else { 
     // Fallback on earlier versions 
    } 

// HINWEIS: Wenn in FOREGROUND sind, werden Sie nie aufgerufen werden! :)

+0

Dies war die beste Antwort. – ScottyBlades

Verwandte Themen