2022.5.2

業務用端末にインストールされているアプリのBundleIDを調べる方法

iOSは各アプリを BundleID と呼ばれる識別子で区別しています。


(あるアプリの例。AppStoreへのアプリ申請では最初にBudnelIDを指定することになる)

業務用iOS関連の作業では、ときおりiOS端末にインストールされているアプリの BundleId を知りたくなることがあります。構成プロファイルを作成したり、MDMでアプリケーション関連の操作をしたり、Apple Configurator2 を触っているような時です。

自分が開発を担当しているアプリならそのBundleIDを記憶しているでしょうが、そうでない場合はどうやってBundleIDを調べるのでしょうか。本稿ではその方法を幾つか紹介します。

 

Xcode (development, InHouse, AdHoc)

手元にMacがあり開発環境のXcodeがインストールされているなら、iOS端末をMacにUSB接続した上で Xcode の Devices and Simulators の画面を見るとすぐに分かります。


(Xcode を起動した状態で、command + shift + 2 のショートカットが便利)

サイドバーで見たいiOS端末を選択すると、INSATLLED APPS の蘭にインストールされているアプリの一覧が表示されます。Identifier の列がアプリの BundleID です。

AppStoreからインストールされたアプリ(公開App/カスタムApp/非表示App/TestFlight)は基本的に表示されません。

 

MDM (InHouse, AppStore)

対象となるiOS端末がMDMの管理下にあるならMDMの管理画面を見るのが一番手っ取り早いでしょう。

どんなMDMにも端末の詳細情報画面があり、その中でインストールされているアプリの一覧が表示されている筈です。


(MDMは管理化の端末にインストールされているアプリ一覧を把握している)

アプリの種類によらず全て確認できます。MDMによっては、MDMで配信したアプリのみを表示する設定ができる場合もあります。(BYOD端末の場合、個人がその端末で使用するアプリを見ることは適当でないため)

 

cfgutil (development, InHouse, AdHoc, AppStore)

Apple Configuratoe2 に付属している cfgutil を使って確認することもできます。cfgutil の詳細はApple Configurator2 付属のコマンドラインツール cfgutil の使い方の投稿をご覧下さい。

iOS端末をmacにUSB接続し、ターミナルを起動して、cfgutilの list コマンドで端末のECIDを特定します。

$ cfgutil list


(cfgutilの大半のコマンドで ECID は必須となる)

次にECIDを引数に指定して以下のように get installedApps コマンドを実行すると、インストールされたアプリの一覧が出力されます。数秒程度待った後に、ECIDで指定された端末にインストールされているアプリ一覧が表示されます。

$ cfgutil -e [ECID] get installedApps


(出力テキストのアプリ名がエスケープされないため、加工しやすいテキストとは言えない)

cfgutil コマンドでは、development, InHouse, AdHoc だけでなく、AppStore からインストールしたアプリも表示されます。

 

iTunes Search API (AppStore)

AppStoreに公開されているアプリに限りますが、iTunes Search API を使ってアプリidから BundleID を調べることもできます。

まずアプリidを調べる必要がありますが、アプリのURLが分かるならそのURL末尾の数字がアプリidです。

アプリのURLを探すには、アプリ名とiOSでググると良いでしょう。あるいは、マーケティング担当者向けに用意されている App Store Marketing Tools を使うこともできます。

検索ボックスにアプリ名を入れると、アプリのURLやアイコン画像等の情報を確認することができます。


(アプリアイコンの高解像度画像ファイルをダウンロードすることもできる)

アプリidを特定したら、ターミナルから以下のように入力すると BundleID を特定できます。(iTunes Search API は JSON を返すため、jqコマンドで必要な箇所のみに絞り込んでいます)

% curl -s 'https://itunes.apple.com/lookup?id=[アプリid]' | jq -r '.results[0].bundleId'


(jqコマンドについては公式ページを参照のこと)

なお iTunes Search API を使う方法は InHouse アプリでは使えません。AppStoreに登録されないアプリだからです。またカスタムAppでは、アプリidは付与されるものの使えませんのでご注意下さい。

 

以上、アプリのBundleIDを調べる方法を紹介しました。BundleID(バンドルID)を調べる必要がある時に、試してみて下さい。

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

最近の投稿