iOS 13 で FeliCa (Suica) にアクセス
iOS 13 以降の Core NFC ではこれまで読めなかった FeliCa や MIFARE も読めるようになりました。ここでは FeliCa の IDm を取得して表示するサンプルを作成する手順を紹介します。
Near Field Communication Tag Reading を有効にする
まずは、TARGET の Signing & Capabilities で Near Field Communication Tag Reading を有効にします。
そうすると、entitlements ファイルがプロジェクトに作成されます。
中には NDEF のものも含まれていますが、今回は NDEF は読み取らないので NDEF は消してしまっても問題ありません。
Info.plist の設定
続いて、Privacy – NFC Scan Usage Description と ISO18092 system codes for NFC Tag Reader Session を Info.plist に追加します。
Privacy – NFC Scan Usage Description はユーザーへ NFC を使うことへの説明書きを入力しておき、ISO18092 system codes for NFC Tag Reader Session にはあらかじめ、読み取りに使用する FeliCa のシステムコードを全て入力しておく必要があります。ワイルドカードは使用できません。
サンプルコード
以上で各種設定事項は終わりです。サンプルプロジェクト一式は GitHub にアップロードしてあります。
treastrain/ios13-felica-reader: Sample project to read FeliCa on iOS 13 and later – GitHub
なぜか WordPress の調子が悪く…コードを直接載せると表示が崩れてしまうので、サンプルコードのみ閲覧したい方は Qiita で公開している記事の方をご覧ください。
【WWDC19】Core NFC で FeliCa(Suica) を読み取るサンプル【iOS 13 以降】 – Qiita
余談 – Apple Watch の Suica を iPhone で読み取る
ちなみに、これを利用して Apple Watch の Suica を iPhone で読み取ることも出来ます。