開発note@パッション

開発ノート:NFC-①イントロダクション

開発ノート@NFC-1

今回はNFCをテーマに開発を進めていきたいと思います。

・NFCを活用した新しいサービスや製品を企画・開発したい方
・スマートフォンやICカードとの連携機能を実装したいエンジニア
・IoT機器や非接触決済の技術に関心のある開発者

 

開発の目標

Apple 製品でNFCを利用するためのAPIは Core NFC で提供されています。
しかし、NFCチップは iPhone と Apple Watch にしか搭載されておらず、通常 Mac や iPad では利用することができません。

そこで今回は、NFCチップを別に用意し、DriverKit を利用してNFCチップと通信することで、 MacでNFCが利用できるようにしていきたいと思います。

 

DriverKit とは?

DriverKit は macOS と iPadOS のデバイスドライバを開発するためのフレームワークです。
USBデバイス向けの USBDriverKit やネットワークデバイス向けの NetworkingDriverKit など、デバイスタイプに応じたサブフレームワークが存在します。

DriverKit で構築したドライバは、カーネル空間ではなくユーザー空間で実行されます。
カーネルはマシン全体にアクセスできるため、バグが重大なセキュリティ問題につながりかねません。
また、カーネルパニックなどの致命的なエラーが起こり得ます。
このため、ユーザー空間で実行される DriverKit は、システムの安定性とセキュリティが向上します。

 

NFC とは?

NFCは Near Field Communication の略であり、日本語だと「近距離無線通信」となります。
NFCに対応した端末同士(読み取り機とスマートフォン・ICカード等)を近づけるだけで、情報をやりとりすることができます。

NFCは私たちの日常生活にも広く普及されおり、 iPhone にもNFC機能が搭載されております。
Apple Pay を設定すれば、お買い物の際にスマートフォンをレジの端末にかざして支払いができます。
最近、iPhone でマイナンバーカードも利用可能となりましたが、マイナンバーカードにもNFCが搭載されています。

 

おわりに

今回は導入ということで、DriverKitとNFCの概要についてご紹介いたしました。
次回は開発の準備をしていきたいと思います。

 


 

TOP