2017-06-06 1 views
3
nicht

Wie programmatisch CoreNFC arbeiten auf Xcode-9CoreNFC Debug arbeiten

func readerSession(_ session: NFCNDEFReaderSession, didInvalidateWithError error: Error) { 
    //What I need to do here 
} 

func readerSession(_ session: NFCNDEFReaderSession, didDetectNDEFs messages: [NFCNDEFMessage]) { 
    //What I need to do here 
} 

override func viewDidLoad() { 
    super.viewDidLoad() 

    let sessionReader = NFCNDEFReaderSession.init(delegate: self, queue: nil, invalidateAfterFirstRead: true) 
    let nfcSession = NFCReaderSession.self 

    let nfcTag = NFCTagCommandConfiguration.init() 
    let tagType = NFCTagType(rawValue: 0) 

    sessionReader.begin() 

} 

Ich will wissen, was ich tun muss, um für eine NFC-Tag zu lesen.

+0

Falls Sie nicht Objective-C-Code etwas dagegen zu lesen, hier ist ein vorgefertigtes Beispielprojekt: https://github.com/x43x61x69/Core-NFC-Example –

Antwort

10

Es gibt vier Schritte, um es zum Laufen zu bringen:

  1. Fügen Sie die NFC-Tag die Erlaubnis Ihre App Identifier im Apple-Entwicklerportal

enter image description here

  1. Fügen Sie Ihrem Projekt und den Buildeinstellungen eine Code Signing-Berechtigungsdatei hinzu und fügen Sie den folgenden unformatierten Schlüssel und Wert hinzu:

enter image description here enter image description here

  1. die Verwendung Beschreibung zu Ihrem Info.plist hinzufügen:

enter image description here

  1. Implementieren Sie den Delegaten und übergeben Sie ihn wie folgt an die NFCNDEFReaderSession init:

    import UIKit 
    import CoreNFC 
    
    @UIApplicationMain 
    class AppDelegate: UIResponder, UIApplicationDelegate, NFCNDEFReaderSessionDelegate { 
    
    var window: UIWindow? 
    var session: NFCNDEFReaderSession? 
    
    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { 
        session = NFCNDEFReaderSession(delegate: self, queue: nil, invalidateAfterFirstRead: false) 
        self.session?.begin() 
        return true 
    } 
    
    
    func readerSession(_ session: NFCNDEFReaderSession, didInvalidateWithError error: Error) { 
        print(error) 
    } 
    
    func readerSession(_ session: NFCNDEFReaderSession, didDetectNDEFs messages: [NFCNDEFMessage]) { 
        print(messages) 
    } 
    

    }