iOS11 Core NFCを使ってみたという記事を参考にしてNFCタグの読み取りを行おうとしています。
コードはこのような状態です。
swift
1class ViewController: UIViewController { 2 var session: NFCNDEFReaderSession? 3 4 override func viewDidLoad() { 5 super.viewDidLoad() 6 if NFCNDEFReaderSession.readingAvailable { 7 session = NFCNDEFReaderSession(delegate: self, queue: nil, invalidateAfterFirstRead: false) 8 session?.alertMessage = "スキャン中" 9 session?.begin() 10 } else { 11 print("NFCが使えません") 12 } 13 } 14} 15 16 17extension ViewController: NFCNDEFReaderSessionDelegate { 18 func readerSession(_ session: NFCNDEFReaderSession, didInvalidateWithError error: Error) { 19 20 } 21 22 func readerSession(_ session: NFCNDEFReaderSession, didDetectNDEFs messages: [NFCNDEFMessage]) { 23 24 } 25 26} 27
session?.begin()をコメントアウトするとクラッシュしないんですがコメントアウトせずに実行すると以下の画像のようなエラーでクラッシュしてしまいます。
コンソールログには何も出力されていません。何が問題なのでしょうか?BuildTargetのCapabilitiesにはNear Field Communication Tag Readingを追加しています
参照ページにあるユーザ許可やケーパビリティ関連の処理は行なったのであれば、明確に記載しておいてください。読み取りUIが出ずにクラッシュなのは、事前準備が不足している可能性が高いので。
あなたの回答
tips
プレビュー