iPhoneを持ってないし、今のところ買う予定もないのだけど、NFC関連のAPIがiOS11から載りそうだということなので、少し見ておく。
なお、いま(2017/06/08)はまだβ版なので、正式版になる頃には状況が変わっていると思う。
NFCが載ったiOSならどれでもいけるのかと思ったが、iPhone7以降ということで、iPhone6はダメらしい。
なんでだろう、ハード的にそうなってるのかな?
見ておく、といったものの、iOSの挙動を知らないし、Swiftも知らないので、雰囲気だけで読んでいきます。
(間違い多いと思うけど許してね、の別表現。)
https://developer.apple.com/documentation/corenfc
大きく4つに分かれている。
- Reader Sessions
- class NFCNDEFReaderSession
- protocol NFCNDEFReaderSessionDelegate
- protocol NFCReaderSessionDelegate
- class NFCReaderSession
- NFC Tags
- protocol NFCTag
- class NFCTagCommandConfiguration
- NDEF Messages
- class NFCNDEFMessage
- class NFCNDEFPayload
- enum NFCTypeNameFormat
- Errors
- struct NFCReaderError
classとprotocolというのが並んでいる。。。
Swiftのprotocolは、Javaのinterfaceみたいなものらしい。
全部羅列したら、何か分かるだろうか?
[Reader Sessions] class NFCNDEFReaderSession init() protocol NFCNDEFReaderSessionDelegate protocol NFCNDEFReaderSessionDelegate readerSession(didDetectNDEFs) readerSession(didInvalidateWithError) protocol NFCReaderSessionDelegate isReady begin() invalidate() protocol NFCReaderSessionProtocol isReady begin() invalidate() class NFCReaderSession delegate sessionQueue [NFC Tags] protocol NFCTag isAvailable session type enum NFCtagType ISO15693 class NFCTagCommandConfiguration maximumRetries retryInterval [NDEF Messages] class NFCNDEFMessage record class NFCNDEFPayload identifier payload type typeNameFormat enum NFCTypeNameFormat absoluteURI empty media nfcExternal nfcWellKnown unchanged unknown [Errors] struct NFCReaderError 省略
わからんわな。
NDEFは、TNFまでは見分けてくれるけど、あとは自分で解析してね、というスタンスのようだ。
なお、NDEFのフォーマットというのはこういう感じだ。
まあ、ほぼそのままを渡してくれるので、あとはこれからURIだのTEXTだのSmartPosterだのを自分で解析するのだろう。
自由度が高いが、まあ単なるデータだからね。。。
BLEのペアリングだったり、WiFiのSSIDなんかもタグで読めるだろうけど、iOSってアプリからそういう設定ってできなさそうな気がするから、ありがたみは薄いのかな。
コピー・ペーストができるなら、貼り付けるだけで済むようにできそうだけど、なんとなくそれも許してなさそうな気がする。
0 件のコメント:
コメントを投稿
コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。
注: コメントを投稿できるのは、このブログのメンバーだけです。