2022.6.13

iPhoneやiPadのUDIDを調べる方法 全10種

全てのiOS端末には、端末を一意に識別する UDID (Uique Device IDentifier) が付与されています。端末のシアリル番号とは別で、設定アプリにも表示されない端末固有値です。業務用アプリの開発に関わらなければ知る機会もありません。

しかしアプリ開発に携わっていて開発中アプリをテスト用にAdHoc配布する場合、対象端末のUDIDを全て収集しなければならなくなります。provisioning profile にUDIDを含めておく必要があるためです。


(アプリの起動を許可したい関係者の端末のUDIDを登録していく必要がある)

テスト用のアプリ配布にはTestFlightを使うことが推奨されますが、過去の経緯や様々な理由でTestFlightを使えない場合もあります。

そんな時にはやはり UDID の収集が必要ですが、これが意外に面倒くさく煩わしいのです。自分で全部出来れば良いですが、MacやWindowsを扱うのに慣れていない方やITリテラシーがそれほど高くない人にまで「お手元の端末のUDIDを教えて下さい」とお願いしなければならない場合もあるからです。

そこで本稿では、iOS端末のUDIDを調べる方法大全ということで全10種類ご紹介します。

情シスや開発者にしか使えなさそうな方法は明記しています。それら以外は、エンドユーザや商流の間にいる開発をしないSIerの方でも可能な方法です。以下、順に見ていきましょう。

 

(1) MDM (情シス向け)

UDIDの収集効率をあげるには、関係者全員にUDIDの確認を依頼するのではなく、代わりに全部調べてあげるのが一番です。MDM導入済みの環境であれば、それが可能です。

MDMでは、チェックインしている端末の基本情報を根こそぎ収集しています。当然 UDID も収集していますから、ブラウザでMDM管理下にある全端末のUDIDを調べることができます。


(弊社がよく使用するBizMobile Go!での端末詳細画面。UDID以外にも各種の情報が収集される)

多くのMDMでは端末一覧のCSVエクスポート機能も備えていますので、ExcelやNumbersを使えばUDID一覧の作成もあっという間に終わります。


(一覧のCSVファイルを開いている様子。MDMで管理している端末のUDID一度を取得するのは容易い)

ということで、UDID収集の初手は、情シス側でMDMを使って対象のUDIDを調べあげることです。その後、後続の方法でMDM配下にない端末についてのみ端末所有者毎に調べて貰う、という進め方がオススメです。この意味で、開発会社やSIerであってもMDMを社内導入することが推奨されます。MDMについてはMDMとは何か 〜今さら聞けないMDMの基礎〜の投稿をご覧下さい。

 

(2) Xcode (Mac / 開発者向け)

開発者であれば Xcode が使えます。Xcodeのメニューから [Devices and Simulators] をクリックして表示される画面で、調べたい端末を選んで詳細表示します。

赤枠の部分 Identifier がUDIDです。ちなみにシリアル番号も同じ画面内から調べることができます。[Devices and Simulators] の画面を表示するには、ショートカット [command] + [shift] + 2 が便利です。

 

(3) cfgutil (Mac / 開発者向け)

ターミナルの操作になれた開発者なら cfgutil コマンドを使って調べることもできます。USBハブを使って複数台を一度に調べることも可能です。

MacにiOS端末をUSB接続し、以下のようなコマンドを実行します。

$ cfgutil --format json list | jq .


(cfgutil の listコマンドを実行。 –format オプションでJSON出力を指定すると加工し易い。jq は別途インストール必要)

なお cfguitl とは、AppleConfigurator2 に付随するユーティリティコマンドです。詳しくはApple Configurator2 付属のコマンドラインツール cfgutil の使い方の投稿をご覧下さい。

工夫すれば、社内共用のMacにUSB接続するだけで、担当者にUDIDを記したメールが自動送信されるといった仕組みを作ることも可能です。(exec コマンドを使います)

 

(4) Apple Configurator (Mac)

情シスでも開発者でもないMacユーザなら Apple Configurator が使えるでしょう。詳細は Apple Configurator とは をご覧下さい。

まずMacにiOS端末をUSB接続して、Apple Configuratorを起動します。起動直後に以下のようにMacに接続中の端末一覧が表示されます。

UDIDを調べたい端末をダブルクリックすると、端末の詳細情報画面が表示されます。

この画面の赤色枠部分がUDIDです。ダブルクリックするとテキストとして選択できますので、[command] + C や右クリックメニューからコピーすると良いでしょう。

 

(5) Finder (Mac)

もし AppleConfigurator2 をインストールしていないMac端末なら、Finder を使うのがお勧めです。

iOS端末をUSBケーブルでMacに接続し、FInder のサイドバーから端末をクリックします。すると以下のような端末情報画面が表示されます。


(macOS Catalina 以降ではiOS端末の詳細確認や各種操作がFinderに統合された)

この画面で、上図の赤枠部分をクリックすると、シリアル番号とUDIDの表示に切り替わります。

さらに右クリックすると、UDIDのみをテキストとしてコピーすることもできます。

情シスや開発者以外で Catalina 以降のMacを使っている方には、一番簡単なUDID確認方法です。

 

(6) ミュージック (Mac)

Finder と同様にミュージックアプリでもUDIDを調べることもできます。

ミュージックアプリを起動して、サイドバーの「デバイス」の欄から調べたい端末を選択します。以下のような表示になります。(端末に楽曲をダウンロード・インストールしていると楽曲一覧が表示される)


(AppleIDの設定が完了していない端末では詳細情報は表示されない)

Finderと同様に、赤枠部分をクリックするとシリアル番号やUDIDが表示されます。


(Finderと同様に右クリックからコピーができる)

ただご紹介はしたものの Finder の方が一般的ですので、ミュージックアプリを使ってわざわざ調べることはない気はします。

 

(7) システムレポート (Mac)

Macの詳細情報を確認する「システムレポート」からもUDIDを確認することができます。

Macに端末をUSB接続した状態で、Apple メニューから [このMacについて]→[システムレポート] ボタンをクリックします。

システムレポートが表示されますので、サイドバーでハードウェアのUSBをクリックし、一覧からiOS端末を選択します。

右下ペインにある「シリアル番号」の欄にUDIDが表示されます。(名称が紛らわしいので要注意)

なおシステムレポートに表示されるUDIDは、端末のUDIDが新しいフォーマット(00000000-0123456789ABCDEF の8桁-16桁形式)の場合、真ん中のハイフンが省略されてしまう点に留意して下さい。AdHoc配布用に developer.apple.com にUDID登録する担当者は、登録時に8,9桁目の間にハイフンを入れるようにして下さい。

 

(8) iTunes (Windows)

Windows環境でUDIDを調べる場合、iTunes を使います。

Windows + iOSユーザなのにiTunesをインストールしていない方はほとんどいないので、比較的やり易い方法です。未インストールの場合は Microsoft Store のURLからインストールして下さい。

WindowsPCにiOS端末をUSB接続し、iTuneを起動。その後、デバイスを表すアイコンをクリックすると詳細が表示されます。

詳細表示の赤枠で囲った部分をクリックする度に、ECID→シリアル番号→UDIDと表示が変わります。2回クリックしてUDIDを表示し、テキストとしてコピーしましょう。

時々 iTunes にiOS端末が認識されないことがありますが、その場合はケーブルの抜き差しや iTunes や Windowsの再起動をしてみて下さい。

 

(9) デバイスマネージャ (Windows)

「デバイスマネージャ」を使って確認することもできます。非常に特殊な方法ですが、一応紹介します。

Windows メニューを右クリックして [デバイスマネージャ] を開きます。以下のような画面が表示されますので、[ユニバーサルシリアル バス デバイス] を開きます。

[ユニバーサルシリアル バス デバイス] 内に [Apple Mobile Device USB Composite Device] がある筈ですので、この項目をダブルクリックするか、または右クリックしてプロパティをクリックすると以下のようなダイアログが表示されます。

[詳細]タブを選び、[プロパティ] 欄のリストボックスを [デバイスインスタンス パス] に切り替えると、値の欄に ¥ マークで区切られた文字列が表示されます。最後の ¥ マークより右側の文字列がUDIDとなります。

ただ、iOS端末のUDIDが新しいフォーマット(00000000-0123456789ABCDEF の8桁-16桁形式) の場合は、真ん中のハイフンが省略された表示になっている点に注意して下さい。developer.apple.com に登録する担当者は、登録時に8,9桁目の間にハイフンを入れるようにして下さい。

 

(10) UDID.tech (Web)

MDMもMacもWindowsも不要で、ただWebサイトにアクセスするだけでUDIDを調べることのできるサービスがあります。UDID.tech といいます。

このサイトにiOSのSafariでアクセスすると、特別なプロファイルをダウンロードすることができます。

 → 

ダウンロードしたプロファイルを設定アプリからインストールすると、UDIDをWebサイト上に表示してくれます。

 → 
(Web上にUDIDだけでなくシリアル番号の他、cellular端末ならIMEIも表示される)

本サービスは米国の Pixel Rainbow Inc. が「UDIDをもっと手軽に調べられないか」という課題認識から開発したサービスです。「UDIDを取得するAPIは今は存在しないのでは?」「そもそもWeb側でどうやって?」と思う方もいるかも知れませんが、Aboutページに、

UDID.tech uses Apple Mobile Device Management concepts to provide you information about your device. The profile you install tells your iPhone, iPad, or iPod to send encrypted data (UDID, IMEI, Serial No, etc.) to your browser.

とある通り、MDM のコンセプトを使って実現していて、何かハックをしているとかiOSの脆弱性を突いているといった類のものではありません。

厳密には、Profile Service という特別なペイロードを含む構成プロファイルをインストールした際のiOSの振る舞いを利用しています。Appleもその仕様を公開していますので、興味のある方は公式ドキュメント Over-the-Air Profile Delivery and Configuration を読んだり、同サイトからダウンロードできる構成プロファイルを解析してみると良いでしょう。(UDID.tech と同じサービスは公開された仕様を使って誰でも作れます。弊社では同類サイトの存在は認識していませんが)

このUDID.tech、非常に便利なのですが利用は自己責任となる点、ご留意下さい。弊社では率先して利用を勧めることはありませんが、どうやってもUDIDを取得できない人がいる場合の最終兵器…という程度に捉えています。

 

まとめ : テスト配布はできるだけTestFlightを使う

以上、本稿ではUDIDを取得する全10種類の方法を紹介しました。開発中のアプリをAdHoc 配布する時にご活用下さい。

ただ、2022年現在ではテスト用アプリ配布はTestFlightを使い、AdHoc配布は極力避けるのが無難です。UDIDの管理が煩雑になって「この端末では動く・動かない」「これ以上の台数を登録できない」といったトラブル対応に時間を取られるからです。

非公開な業務用アプリもカスタムAppとしてAppStore申請が必要になっている今、業務用アプリの関係者がTestFlightを避け続ける理由はありません。

TestFlightは、内部テストや外部テストなど専門用語も多くとっつきにくい印象がありますが、Apple がリリースした2014年当時に比べると格段に分かり易く・使い易くなっています。過去の慣習でまだAdHoc配布によるテスト配布を続けている方は、UDID収集に苦労することのないTestFlightへの移行を今すぐ検討しましょう。

本サイトはACNメンバーの(株)フィードテイラーが運営するエンタープライズiOS情報サイトです

最近の投稿