2023.4.17
アプリアイコンの画像ファイルを取得する方法 全3種
業務用のiOS端末活用シーンで必ず必要になるのがマニュアル作りです。担当の方からときおり頂く質問が「何とかアプリのアイコンを取得する方法はないか?」というもの。
自社で独自開発した業務用アプリのアイコン画像を入手できないことは稀なのですが、企業や案件によって事情は様々にあるようです。
- 開発側から高解像度の画像を貰えない、依頼しにくい
- .ipa ファイルはあるが開発会社や担当者と連絡が取れなくなってしまった
- インストール済みの端末はあるが .ipa ファイルが今手元にない
あるいは自社開発の業務用アプリではなく、AppStoreで公開されている既存アプリをABMとMDMを使って業務用に配布していて、そのアプリのアイコン画像がマニュアル用に欲しい場合もあります。
そこで本稿では、社内用マニュアルを作成される方に向けて、アイコン画像ファイルの入手方法を3つご紹介します。
Apple Services Marketing Tools を使う
もしその業務用アプリがAppStoreで公開されているアプリなら、Apple が公式に提供している App Store marketing Tools を使用するのが最良な選択です。なぜなら最も高解像度な 1024 x 1024 の画像を入手できるからです。
検索ボックスにアプリやデベロッパーの名称を入力すると下図のようにヒットしたアプリの一覧が現れます。
目的のアプリをクリックするとアプリに関する様々な情報やリソースが列挙された画面に遷移します。このページ中程に下図のような「Appアイコン」というセクションがありますので、Download Artwork ボタンをクリックします。
これで、このアプリアイコンの画像を入手することができます。
ところで、アプリ開発者は AppStore に申請する際に 1024 x 1024 の高解像度画像を用意する必要があります。App Store Marketing Tools から入手できるのは、開発者が申請時に使うその画像(厳密には開発時にXcodeに登録する画像)の角を丸く切りとったもので、マニュアル等でも使い易い形になっています。
App Store Marketing Tools では、AppStoreに公開されているアプリでしか使えません。たとえ AppStore に登録されたアプリであっても、非公開アプリ(カスタムApp)の場合は検索しても出てきません。カスタムAppは企業側が非公開にしたいアプリですから、そのアイコンも入手できないのは当たり前ですね。
cfgutil を使う
もし、アプリがインストールされた端末が手元にあるなら、Apple Configurator に付属している cfgutil を使ってアプリ画像を抽出することができます。cfgutil については以下の投稿を参考にして下さい。
cfgutil はターミナル(いわゆる黒い画面)からコマンドラインで使いますので、難しそうに見えますがそうでもありません。以下の通り操作して下さい。
(1) 対象のアプリがインストールされたiOS端末をMacに接続し、ターミナルから cfgutil list コマンドを実行する。Macに接続されたiOS端末一覧が表示されるので、目的の端末の ECID をメモ
(2) 次に cfgutil get installedApps コマンドを実行し、目的のアプリの BundleID を調べてメモ。この時 (1) で取得した ECID を -e オプションに指定する
(3) 最後に cfgutil get-app-icon コマンドを実行し、目的のアイコン画像を抽出する。この時 (1) で取得した ECID を -e オプションに指定する
数秒待たされた後、cfgutil コマンドを実行したディレクトリ上に [BundleID].png というファイル名の画像が現れている筈です。
なお、取得できる画像の解像度は余り高くなくて 256 x 256 です。角丸処理はされていますが、グレー色の枠線のようなものもついています。少々使いにくいですが、無いよりはマシでしょう。
なおこの方法は前項の Apple Services Marketing Tools を使う方法と異なり、端末にインストールされたアプリであればどんなアプリでもアイコンの取得が可能です。AppStore公開アプリ、非表示App、カスタムApp、AdHoc・InHouse・Developmentの署名がされたアプリ、TestFlight配信アプリ…等々、どれでもokです。
アプリがインストールされた端末さえあれば使える方法ですので、アイコン画像が欲しいと思うアプリがAppStore公開アプリでなく、且つその .ipa ファイルを直接入手できないシチュエーションで有用な方法です。もし .ipa ファイルが入手できるなら、後述の方法がお勧めです。
ipaファイルから抽出する
.ipa ファイルとは何か という投稿で .ipa ファイルは単なる zip ファイルに過ぎず、展開すると様々なファイルが現れるという解説をしました。以下は代表的なものです。
ファイル名やフォルダ名 等 | 説明 |
---|---|
Info.plist | アプリそのものやビルド環境に関する情報 |
Pkginfo | iOSでは実質不要だが標準で含まれるファイル |
Assets.car | アプリで使用する画像が収まったアセットファイル |
embedded.mobileprovision | 署名で使われた Provisioning Profile |
アプリ名 | アプリ名称そのままのファイル。実行バイナリ。Mach-O(マークオー)形式 |
_CodeSignature | 署名の検証データを含むファイルが格納されるフォルダ |
XX.lang | Storyboardのファイルや言語リソースのフォルダ。XXは言語識別子 |
各種リソースファイル | 画像や動画、PDFファイル等のアプリに内包させた実ファイル |
この中の Assets.car というファイルから、アプリのアイコン画像を抜き出すことができることがあります。使えるツールは幾つかありますが、ここでは手っ取り早くて分かり易い Asset Catalog Tinkerer をご紹介します。以下のようなアイコンの Mac 専用ソフトです。
まず .ipa ファイルとは何かの手順にそって .ipa ファイルをzip展開して下さい。Payload フォルダ内にある Assets.cat ファイルを見つけ、Asset Catalog Tinkerer で開くと下図のように表示されます。
アプリ内で使われる画像(のうちXcodeに登録された画像)の一覧が表示されますので、この中からアプリアイコンの画像を探します。Finder上の任意箇所にドラッグ&ドロップするか、メニューから [File]→[Export Selected Images] をクリックすると画像ファイルとして抽出できます。1024 や artwork といったキーワードで検索すると見つけ易いです。
なお、Assets.cat から抽出する方法は Asset Catalog Tinkerer 以外にも acextract や iOS-Asset-Extractor などツールが幾つもありますので、確認してみて下さい。
以上、業務用アプリに関連してマニュアルを作成する方向けに、アプリアイコンを入手する方法について解説しました。マニュアル作りに役立てて貰えたらと思います。