Help us understand the problem. What is going on with this article?

iOS13 CoreNFCの使いみちとQRコード、BLEとの比較

はじめに

iOS13にて、CoreNFCの機能が強化されることが発表されました。
https://developer.apple.com/documentation/corenfc

上記のドキュメントをもとに、できるようになったこと、Androidと比べてまだできないこと、今まで使用できたQRコード、BLE、超音波通信との比較をしてみます。

注意: 当方iOS開発をろくに経験していないため、ここに記載したことがすべて実際に実行可能とは限りませんのでご注意ください。
また、法規制に関する記述は、筆者には一切の保証ができないため、業務などの際には専門家にお問い合わせください

iOS12まで

以下のことができました。
・NDEF読み取り
・NDEFバックグラウンド読み取り(iPhone XS以降のみ)

これとシステム対応の結果、だいたい以下のことができるようになりました。
・名刺についたNDEFタグの読み取り(URLなど)
・Wi-Fiアクセスポイントへの接続
・アプリの起動(URLスキーム経由)
・フィットネス機器など超小容量のデータ読み取り

NDEFタグへの書き込みはできないため、予め作っておく必要があります。
また、NDEFの情報以上のものは読み取れないため、セキュリティなど担保することはできませんでした。

ほぼQRコード以下と言ってもいいかもしれません。

iOS13から

以下ができるようになります。
・NFCタグ直接読み取り(システムコード指定、暗号化通信可)
・NFCタグ直接書き込み

これによりできることが格段に増えます。
NDEFに対応しない生データの読み取りと書き込みができるようになったため、以下のようなことができます。
※(?)は自信がない物

・カード固有IDの読み出し
・高機能/複雑な構造を持ったカード・タグの取り扱い
・暗号化通信や署名を用いたセキュリティの担保(?)
・交通系電子マネーの履歴読み取り
・会員カードの読み取り
・カード内の電子マネーを用いた決済(?)
・NDEFタグの作成・書き換え
・フィットネス機器などとの双方向の通信
・各種機器の設定
・各種機器のそれなりの容量のデータの読み取り

夢が広がりますね。
P2PやHCEはできないようなので、端末間の通信や、既存のカードのエミュレーションによる通信はできませんが、NFCタグとして振る舞う組み込み機器(体温計や体重計など)との通信はできそうです。

※FeliCa Plug, FeliCa Linkその他など

早速作られている方が居るようです。
【WWDC19】Core NFC で FeliCa(Suica) を読み取るサンプル【iOS 13 以降】

TRETJapanNFCReader
免許証、交通系ICカードの取得

比較

iOSで今まで使われてきた方式とのメリット・デメリットの比較をしてみます。
組み込み機器orタグ 対 スマホを想定。

vs QRコード

オンライン誘導が前提のQRコードと、オフラインで完結することもできるNFCといった構図。
また、書き換え可能な点、セキュリティ確保が必要かどうかなどで使いみちが分かれる。
大量配布ではQRコードのほうがわかりやすく、対応機種が多く、安い。

組み込み機器では、高解像度の画面を搭載しているか否か、いちいちカメラを向けることが問題ないかどうかなどで分かれる。

機能 QRコード NFCタグ
値段 とても安い 少し高い
書き換え 不可 可能
署名検証 なし あり
書き込みロック なし あり
読み出しロック なし あり
対応機種 ほぼすべて 少ない
データ容量 少ない 多い
機構 カメラ NFC
位置合わせ 必須 それなり
耐環境性 低~高
読み取り距離 20cm~∞(サイズ依存) 0~3cm
見た目 わかりやすい デザイン依存
読み取り速度 位置合わせ後即時 タッチして即時
オフライン利用
機能 QRコード(画面表示) NFC(機器)
画面 必須 不要
NFC通信機能 不要 必須
通信 単方向 or オンライン併用 双方向
セキュリティ 不可(オンライン併用でコード化可)
読み取り距離 20cm~∞(サイズ依存) 0~3cm
位置合わせ 必須 それなり
データ容量 少ない 多い

vs BLE

BLEは、ある程度の距離までつながること、接続位置を気にしなくて良いこと、接続に多少時間がかかることから、個人所有の機器の初期設定やデータの吸出し、持続的な通信が必要な用途に便利である。
また、ペアリング済みだと接続開始に極めて高速なことが多いので、繰り返し使う用途にも向いている。

NFCは、即座に通信できる半面、通信にはかざす必要があり、持続的な通信には向いていないため、小容量、一期一会、ワンタイムの場面に向いている。

なお、BLEビーコンをNFC的に使う用途もあるが、接続タイミングが不安定で困ることが多い(実体験)。
NFCのパッシブ型モジュールの場合は電波法の対象にならない(*1)ため、BLEより少々手軽かもしれない

変わり種として、NFCタグモジュールの中には、動作中に不揮発メモリに書き込んでおくと、電源切れていてもNFCで受電してメモリ内容を読み書きできるタイプの物がある。そのためBLEよりもさらに電源条件がタイトな環境でも使えるかもしれない。
※FeliCa Linkなど

機能 BLE(通常) NFC
画面 不要 不要
機構 BLE NFC
電波法 対象 パッシブは対象外(*1)、アクティブは出力電力により型式指定必要
暗号化 あり あり(制限付き)
持続的通信 不可
接続開始 3ms(ペアリング済み)数秒(スキャン・アドバタイジング含む) 数十ms~数百ms(ポーリング周期依存)
位置合わせ 不要 それなり
通信距離 0~5m(一般的)~350m(実測最大) 0~3cm
オフライン利用
電源 必須 必須ではない

vs 超音波通信

超音波通信はQRコードよりも不安定で小容量になるため、オンライン通信のトリガとして組み合わせて使うことが多い。
少し離れていても受信できるのがメリット。あと、マイクがついてないスマホはないのでそこと組み合わせる時に便利。

機能 超音波 NFC
画面 不要 不要
安定性
通信 双方向? 双方向
機構 マイク&スピーカ NFC
電波法 対象外 パッシブは対象外(*1)、アクティブは出力電力により型式指定必要
セキュリティ なし あり(制限付き)
位置合わせ 不要 それなり
通信距離 0~?(音量依存) 0~3cm
オフライン利用 不可

補足

*1 一部国を除く
参考: 総務省 電波利用ホームページ 高周波利用設備の概要 (型式指定について)
https://www.tele.soumu.go.jp/j/sys/others/highfre/
総務省 電波利用ホームページ 免許及び登録を要しない無線局
https://www.tele.soumu.go.jp/j/adm/proc/free/
ねとらぼ iPhoneの「総務省指定」はなぜAndroid端末に刻印されないのか arrowsとXperia担当者に聞いてみた (出力電力による違い)
https://nlab.itmedia.co.jp/nl/articles/1609/30/news136.html
RRR 鉄道技術アラカルト(83) スイカの種 2011.4 三木彬生 p41 (電波を出さないので法規制を受けない)
https://bunken.rtri.or.jp/doc/

関連

NFCと組み込み機器で通信する際の3モードの使い分け
Android端末同士でNFCで通信するための手段メモ
NFC関係用語と解説
AndroidのHCE-FでFelica Lite相当の機能を実装してみた
AndroidのHCE-Fについて調べてみたメモとサンプルソース
LazyPCSCFelicaLite (C++でPC/SCを使ってFelica Liteにアクセスするライブラリ)
PC/SCでFelica LiteにC言語でアクセスする

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away