質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

解決済

1回答

3284閲覧

iPhoneのICカード化(NFCタグ化)機能をアプリ開発で利用できるのか?

takk_014

総合スコア53

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2022/12/26 08:53

前提

iPhoneをICカード化(NFCタグ化)したいです。
とある機械がNFCのリーダー/ライター機能を持っています。
その機械に作成したアプリを起動したiPhoneをかざすことでその機械のロックを解除するようにしたいです。
iPhoneはSuiCaの代わりになるのでICカード化(NFCタグ化)はできるのですが、ネットで検索してもiPhoneをICカード化(NFCタグ化)するアプリを作成したという情報が見つからないです。

実現したいこと

iPhoneのICカード化(NFCタグ化)機能をアプリ開発で利用できるのか知りたい。

発生している問題・エラーメッセージ

iPhoneをICカード化(NFCタグ化)するアプリを作成したという情報がなく、iPhoneのICカード化(NFCタグ化)機能をアプリ開発で利用できるのか不明。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

maisumakun

2022/12/26 09:15

逆転の発想で、iPhone上では「Suicaなど何かしらのカードを作る」だけにして、リーダー/ライター側でiPhone上のNFCカードを認識する、というような流れとすることはできないでしょうか?
dodox86

2022/12/26 10:36

@質問者 takk_014さん maisumakunさんのご提案は代替策として検討の余地が充分あるかと思います。もし、iPhone側がSuica(すなわち FeliCa Standard)を装っていて、システムとしてカードIDに相当するIDmのみをリーダーライター側が認識できれば良いのであれば使えそうです。ただし、もしIDmが使うごとに変わったり、独自のデータ領域を読まなければならないようなシステムであれば難度は上がりそうです。
takk_014

2022/12/26 11:35

お二人共コメントありがとうございます。 代替策をご提案いただき感謝します。 IDmは使うごとに変わることはないので大丈夫です。 独自データ領域も読み込むことはないです。 しかしIDmを発行してそれをリーダー/ライターに送ることができるでしょうか? CoreNFCの中にそういったことができるメソッドがあったでしょうか?
dodox86

2022/12/26 12:16

> しかしIDmを発行してそれをリーダー/ライターに送ることができるでしょうか? > CoreNFCの中にそういったことができるメソッドがあったでしょうか? 恐らくコメントの意図が伝わっていないような気がするのですが、まず前提として、IDmは我々ユーザーが発行するものではないです。通常、ICカードが世に出た段階でほぼ固有(<絶対、ではない)のIDが業者によって付与されます。FeliCa(Standard/Lite-S)であればそれがIDmです。Mifare系だとUIDなどと言います。で、iPhoneでSuicaカードとして使う場合、IDmは既についているはずで、リーダーライター側から「ポーリング」と言うリクエストをICカード側にすることによって、ICカードはIDmをリーダーライター側にレスポンスとして通知します。以降、FeliCaのICカードとリーダーライターはそのIDmをもって様々な通信を続けます。iPhoneの標準アプリでSuicaのエミュレーションで使うとき、そのシミュレートされたIDmが通知されるはずで、例えばそれが使えるのでは?と言う内容でのコメントです。(少なくとも私はmaisumakunさんのコメントをそう解釈しました。)
dodox86

2022/12/26 12:30

要約、と言いますか話を戻すと、「iPhoneでもともと用意されているSuicaのアプリとその機能をそのまま使うことでIDmがリーダーライターに通知されるはずだから、リーダライター側のソフトを何とかしてシステムを構築できませんか?」と言うのがコメントの主旨になります。
dodox86

2022/12/26 17:48

>> しかしIDmを発行してそれをリーダー/ライターに送ることができるでしょうか? >> CoreNFCの中にそういったことができるメソッドがあったでしょうか? > > 恐らくコメントの意図が伝わっていないような気がするのですが、 こちらのご質問の意味を改めて考えていたのですが、もし、「iPhoneをSuicaカードの標準のアプリとして使用する上で、せめてIDmを変更できるのか?」と言うことを指しているのであったのならば、それは「できない」と言うことになります。 ICカードリーダーライターからのコマンド(リクエスト)に対して送り返すレスポンスのパケットを独自に構築するCoreNFC内の道筋がそもそも存在しないので無理と言うことですね。 尚、(単なる参考ですが)AndroidでのFeliCa用ホストカードエミュレーション/HCE-F であれば、限定的にIDmの設定ができるようです。機能的に色々制限があって、本質問とも関係無いので詳細は割愛します。
takk_014

2022/12/27 00:36

dodox86様 詳しくご説明いただきありがとうございます。 リーダー/ライター側のソフトを改変してユーザーがiPhoneに登録しているICカードのIDmを読み取って認証するということですね。 しかしリーダライターについてはどこかのメーカーが量産したものを使うためリーダライターのソフトを改変することはできないです。。。 現状はとある機械にリーダー/ライターが付いている状態ですが、リーダー/ライターを外してロック解除信号を送るモジュール付きのNFCタグを装着します。 そしてiPhone側をリーダー/ライターにすることにします。 ここまで色々と教えていただきありがとうございます。
guest

回答1

0

ベストアンサー

iPhoneはSuiCaの代わりになるのでICカード化(NFCタグ化)はできるのですが、ネットで検索してもiPhoneをICカード化(NFCタグ化)するアプリを作成したという情報が見つからないです。

デバイスに搭載されたICカードリーダーライターのチップとソフトウェアでICカードを装う機能はHost Card Emulationと呼びますが、お望みの機能は、残念ながら独自アプリでの実装は現状のiOSとiPhoneデバイスでは不可能と考えて良いです。

NFC関連の現状のAPIでも、それらに関するドキュメントは存在しませんね。
Core NFC - Apple Developer

約2年前のものですが、類似の質問がありましたのでご参考までにご案内しておきます。
Emulating NFC Tag using iPhone Device

あくまで推測ですが、ICカードを装うHCE機能は、アプリの品質によってはシステムのセキュリティを毀損するものになりうるので、Apple謹製の標準アプリ以外では使わないよう、一般に公開していないのだと思います。

投稿2022/12/26 10:30

dodox86

総合スコア9183

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問