はじめに
iOS公式のCore NFCの非公式超意訳です。
主観で、混乱しそうな内容はわりと省きました。主観で。
正確な情報が欲しい方は↓を読むことをオススメします。
Core NFC | Apple Developer Documentation
明らかな誤訳や、NFCの文脈でおかしなことなどなどありましたらお気軽にご指摘くださいませ。
先に用語の紹介を。
NFC = Near Field Communication(近距離無線通信規格のひとつ)
NDEF = NFC Data Exchange Format(NFCでよく使われるデータフォーマット)
以下本文です。
Core NFC
NFCタグを検知し、NDEFデータなどのデータを読み込む。
Overview
アプリでモノに仕込んだNFCタグを読める。Core NFCを使うとNDEFのtype1からtype5までのNFCタグを読むことができる。例えば博物館で、お店や展示されたモノについての情報を(NFCタグを媒介にして)アプリで読み取れる。
Note
Core NFCはApp Extensionsでの利用はできず、端末がNFCをサポートしていないと使えない。判定にはreadingAvaiableが使える。
Topics
Essentials
-
Building an NFC Tag-Reader App
- NDEF MessageをNFCタグからアプリで読み取るサンプルコード
-
Adding Support for Background Tag Reading
- Background Tag Readingを使うとアプリなしでNFCタグをスキャンできる
-
NFCReaderUsageDescription
- plistのキー。NFCを使う用途を書く。端末の機能使う時にダイアログ出るアレ。
- Privacy - NFC Scan Usage Description
Reader Sessions
リーダーセッションを作り、NFCタグのスキャンと検知を行う。
-
NFCNDEFReaderSession
- NDEFタグの検知に使うリーダーセッション
-
NFCTagReaderSession
- ISO7816、ISO15693、FeliCa、MIFAREのタグ検知に使うリーダーセッション(ベータ版)
-
NFCVASReaderSession
- Value Added Service(VAS?初耳…)タグの処理に使うリーダーセッション(ベータ版)
-
NFCReaderSession
- 各リーダーセッションの抽象基底クラス。↑の3つの親クラス。
-
NFCReaderSessionProgtocol
- リーダーセッションの各クラスとやりとりするためのインターフェース
-
Near Field Communication Tag Reader Session Formats Entitlement
- アプリが読むことができるNFCデータのフォーマット
- Key: com.apple.developer.nfc.readersession.formats
Tag Types
タグに合うインターフェースを利用することで、タグデータの読み書きをする。
-
Creating NFC Tag from Your iPhone
- タグへのデータ書き込みや、タグとデータのやりとりをするサンプルコード
-
NFCISO7816Tag
- ISO7816タグとやりとりするためのインターフェース(ベータ版)
-
NFCISO15693Tag
- ISO15693タグとやりとりするためのインターフェース(ベータ版)
-
NFCFeliCaTag
- FeliCaとやりとりするためのインターフェース(ベータ版)
-
NFCMiFareTag
- MIFAREとやりとりするためのインターフェース(ベータ版)
-
NFCNDEFTag
- NDEFタグとやりとりするためのインターフェース(ベータ版)
-
NFCTagCommandConfiguration
- NFCタグへのコマンド発行をする際のコンフィグパラメータ
- 現状リトライの回数とインターバルの設定しかできない模様
- NFCタグへのコマンド発行をする際のコンフィグパラメータ
NDEF Messages and Payloads
-
NFCNDEFMessage
- 1〜複数のペイロードレコード(NDEF Record)から作られるNDEF Message
-
NFCNDEFPayload
- ↑の中にいるペイロードレコード自体
Errors
-
NFCReaderError
- タグやリーダーセッションで発生するエラー
-
NFCTagResponseUnexpectedLengthErrorKey
- 不正なレスポンスのデータ長が返ったことを示す
userInfo
のキー(ベータ版)
- 不正なレスポンスのデータ長が返ったことを示す
Enumerations
-
NFCTag
- 中身は以下のとおり
- feliCa
- iso15693
- iso7816
- miFare
- 中身は以下のとおり
Protocols
-
NFCTagReaderSessionDelegate
- リーダーセッションのプロトコル
- リーダーセッションがアクティブになった時
- タグを検知した時
- エラーでセッションが無効になった時
- リーダーセッションのプロトコル
Beta Software
ベータ版なので、色々変わるかも!
まとめ
NFCの書き込みもできるようになるので色々遊べますね!!