iPhoneやiPadの古いバージョンのアプリをダウンロードする方法

iPhoneやiPadのiOSアプリは、通常古いバージョンへダウングレードできません。
その.ipaファイルを別のディレクトリに保存してあればできますが、ほとんどの方はデバイス上でアップデートを行い保存されているケースは少ないでしょう。
稀に前のバージョンに戻したいという事があるかと思いますので、今回はそんな時のために過去の古いバージョンのアプリをダウンロードする方法を紹介いたします。
@hirakujira 読めないけど過去のバージョンのアプリをダウンロードできるってこと?
— いち☠₣ƦEEÐØM (@ichitaso) December 9, 2015
元ネタはヒラクちゃんより。
Windowsを使った方法
1. Fiddlerのダウンロードhttps://www.telerik.com/download/fiddler
こちらのサイトから「Fiddler for .NET4」を選択、不要なチェックを外してダウンロード

(「.NET Framework」が必要です。自分は4.5.2を使用しています。)
2. FiddlerでHTTPSを有効にする
Fiddlerを起動してください。
メニューバー→Tools→Fiddler Options→HTTPS→Decrypt HTTPS trafficにチェック

Yesをクリック

はいをクリック
※「DO_NOT_TRUST_FiddlerRoot」という名前で証明書がインストールされます
3. 証明書をデスクトップへエクスポート
メニューバー→Tools→Fiddler Options→HTTPS内のActionsをクリック
→「Export Root Certificate to Desktop」でデスクトップへエクスポートします。

「FiddlerRoot.cer」がデスクトップに出力されます。
4. 証明書のインストール

デスクトップにある「FiddlerRoot.cer」をダブルクリックして「証明書のインストール」をクリックします。

「証明書をすべて次のストアに配置する」を選択→「参照」→「信頼されたルート証明機関」を選択して「OK」でインストールします。
この証明書は、Fiddlerのメニューバー→Tools→Fiddler Options→HTTPS内のActions
→「Reset All Certificates」をクリックすると削除できます。
また、「Win+Rキー」で「certmgr.msc」と入力し手動で削除することもできます。
- 個人
- 信頼されたルート証明機関
- 中間証明機関
これで、Fiddlerを起動したままでもiTunesでの通信ができるようになりました。
古いバージョンのFacebookアプリをダウンロードしてみる
1. iTunesを起動して、App Store内のマイAppを選択→検索欄に「Facebook」と入力
右クリックから削除をします。
(新たにダウンロードするためライブラリから消します。インストールされていない場合は不要)
2. App Storeに移動して検索欄に「Facebook」と入力
Facebookをダウンロードしますが、キューに入ったらダウンロードを中止します。

ダウンロードキューを選択してからDeleteキー2回押しでキューを削除
残っているFacebookの項目を選択してDeleteキーで完全に削除されます。
3. ダウンロード先のHostを探す
Fiddlerに切り替えて、左サイドバーにあるHostに「pxx-buy.itunes.apple.com(xxはランダムな数字)」という項目を探してクリック

1「pxx-buy.itunes.apple.com」→2 Inspectors→3の順にクリック
4. 「softwareVersionExternalIdentifiers」を検索

右下ウインドウのRawを選択して、検索欄に「softwareVersionExternalIdentifiers」と入力します。
こちらの下に書いてある数字が大きいほど新しいバージョンになります。
一番小さい数字の「18372」が最初のバージョンのはずなので、こちらをダウンロードしてみます。
5. Facebook v1.0をダウンロード

Fiddlerのメニューバー→Rules→Automatic Breakpoints→Before Requestsを選択
(これでHTTPリクエストがあったときに一回ずつ処理をストップできるようになります)

iTunesで「ダウンロード」をクリックするとFiddler側で一旦処理がストップします。
Fiddlerの左サイドバーにあるHostに「pxx-buy.itunes.apple.com」という項目がでるまで「Run to Completion」という緑のボタンをクリック

「pxx-buy.itunes.apple.com」という項目になったら、右上のウインドウで「TextView」を選択→「appExtVrsId」を検索します。
appExtVrsIdの下に記述している値を「814995808」から「18372」に書き換えます。
その後、Fiddlerのメニューバー→Rules→Automatic Breakpoints→Disabledを選択
→Fiddlerのメニューバー→File→Capture TrafficのチェックをOFFにします
→Run to Completionをクリックでダウンロードを開始させます。

6. バージョンの確認
iTunesのマイAppでFacebookを右クリックしてプロパティを開きましょう。

バージョン1.0がダウンロードされました!
Macを使った方法についてはこちらを参照ください。
iOSアプリの過去バージョンをダウンロードする方法 (Mac) | Tatsu Blog
目的のバージョンを探す方法
「softwareVersionExternalIdentifiers」の値と、iOSアプリのバージョンは異なりますので、1つずつ確認する必要があります。例えば、Twitterの古いバージョンをダウンロードしてみましょう。
検索欄に「Twitter」と入れて、同じようにダウンロードを押した後にすぐにキャンセルします。

「pxx-buy.itunes.apple.com」という項目を選択して、右下にある「Response is encoded and may require decoding before inspection. Click here to transform.」の部分をクリックします。
Rawを選択して「softwareVersionExternalIdentifiers」を検索
<key>softwareVersionExternalIdentifiers</key>
<array>
<integer>2011051</integer>
<integer>2011051</integer>
<integer>2157141</integer>
<integer>2157141</integer>
<integer>2433703</integer>
<integer>2433703</integer>
<integer>2583165</integer>
<integer>2583165</integer>
<integer>2640896</integer>
<integer>2640896</integer>
<integer>2696111</integer>
<integer>2696111</integer>
-- 省略 --
<integer>814363135</integer>
<integer>814369370</integer>
<integer>814848243</integer>
<integer>814730583</integer>
<integer>814637635</integer>
<integer>814848243</integer>
</array>
たくさんのバージョンが有ることがわかります。
桁が変わる前の「84735001」をダウンロードしてみましょう。
右下のウインドウで「bundleShortVersionString」と検索してみると「5.12」ということがわかりました。
同様の方法で、Twitterが買収する前のTweetie2をダウンロードしたいと思います。
探した結果「2583165」がTweeite 2.1.2の最終バージョンでした。
まとめ
このようにして、「softwareVersionExternalIdentifiers」と「bundleShortVersionString(アプリのバージョン)」を照らし合わせて行けば、以前使えた機能がアップデートによって使えなくなった場合でも古いバージョンのアプリをインストールすることができます。もちろん自分のApple IDと紐付いた.ipaファイルなので、普通に更新もできます。
最初は戸惑うかもしれませんが、覚えておいて損はない方法なので、一度試してみてください。