App Storeから古いバージョンのアプリケーションをダウンロードする方法

  1. 公開日:2016/01/06
  2. 更新日:
  3. Mac
  4. ,
  5. 0
7
SHARES
B!

@おったんです。新年明けましておめでとうございます。今年も本ブログを宜しくお願い致します。

App Storeから古いバージョンのアプリケーションをダウンロードする

アプリケーションのバージョンを最新に保つことは、セキュリティ、機能改善にも役立つことですが、時にバージョンアップしたことによる不具合に見舞われることがあります。その場合は、以下の方法を使用して、任意の古いバージョンをiPhoneにダウンロードすることができますのでお試しください。

少々、長い行程で面食らいますが、慣れてしまえば同じことの繰り返しですので簡単です。ぜひ、最後までご覧いただければと思います。

Charlesのダウンロード

Charlesは、HTTPプロキシ、HTTPモニタ、リバースプロキシとして機能するソフトウェアで、端末⇄サーバ間のHTTP、およびHTTPSのリクエストと応答をモニタリングできます。Charlesは優勝版ですが、30日間は無料で試用することができます。以下のリンクから、試用版のCharlesをダウンロードしてください。

http://www.charlesproxy.com/latest-release/download.do

Charlesのインストール

Charlesをダウンロードし、ディスクイメージ(dmg)ファイルをダブルクリックすると、ライセンスが表示されますので「Agree」ボタンをクリックします。

「Charles.app」を「Applications」にコピーすると、インストールは完了です。

Charlesの起動

Charlesがネットワークモニタとして機能するために、権限を求められるため「Grant Priviliges」をクリックします。これは、Charlesの初回起動時のみ求められます。

権限の付与には管理者権限が必要であるため、管理者のユーザ名とパスワードを入力します。

Charlesは、Firefoxのアドオンとしても機能するようですが、今回は使用しないため、「Cancel」をクリックします。

以上で、Charlesの起動は完了です。

Charlesで古いアプリケーションをダウンロードする

ここからは、Charlesを使用してiTunes Storeから古いバージョンのアプリケーションをダウンロードする方法をご紹介します。

STEP1. 目的のアプリケーションをダウンロードする

iTunesを起動し、iTunes Storeから目的のアプリケーションをダウンロードします。今回は、Facebookを対象とします。

STEP2. CharlesのSSLプロキシを有効化する

「このサーバの証明書チェーンは不正です」エラーの対策

以下の手順を実施した際に、「このサーバの証明書チェーンは不正です。」と表示された場合には、「Charles」の証明書のインストールが必要であるため追記しました。

SSLプロキシを有効化するために、SSL通信におけるCharlesによるモニタリングを有効化するためにCharlesの証明書をインストールする必要があります。

Charlesを起動したら、「Help」→「SSL Proxying」→「Install Charles Root Certificate」を選択します。これで、キーチェーンにCharlesのルート証明書がインストールされます。SSL通信時にこの証明書が使用されるようになりますが、最新のmacOSでは未知の証明書は使用できないようになっているため、キーチェーンアクセスから有効化します。「アプリケーション」→「ユーティリティ」→「キーチェーンアクセス.app」を開きます。

「Charles Proxy CA」というルート証明書を探します。「このルート証明書は信頼されていません」と表示されている場合には、その証明書をダブルクリックしてください。

「信頼」というプルダウンをクリックし、「この証明書を信頼するとき」を「常に信頼」に変更してください。これで、Charlesを使用している際に、iTunes StoreとのSSL通信をモニタリング出来る様になります。

端末⇄iTunes Store間の通信はSSLで暗号化されているため、このままではネットワーク通信をモニタリングできません。Charlesの左ペインの「Structure」タブから「https://**-buy.itunes.apple.com」を見つけ、SSLのモニタリングを有効化するために、右クリックして「Enable SSL Proxying」をクリックします。これで次回以降、このサーバに対するSSL通信をモニタリングすることができるようになりました。

STEP3. 目的のアプリケーションをダウンロードする(2回目)

iTunesから、STEP1でダウンロードしたアプリケーションを削除し、再度同じアプリをiTunes Storeからダウンロードします。

STEP4. アプリケーションの情報を取得する

Charlesの左ペインの「Structure」タブから「https://**-buy.itunes.apple.com」を再度見つけます。この時、鍵マークが付いていないことを確認してください。三角形のマークをクリックして展開していくと、「WebObjects」→「MZBuy.woa」→「wa」→「buyProduct」が見つかります。

右側ペインにおいて、上部を「Contents」、下部を「XML Text」に変更して「softwareVersionExternalIdentifiers」のキーワードを検索してください。(+Fでこのキーワードで検索すると便利です)

ここに表示されている番号が、アプリケーションのバージョンを一意に識別する番号になります。古い番号ほど、古いバージョンのアプリケーションになります。ただし、このままでは、アプリケーションのバージョン情報がわかりませんので、再度Charlesで確認します。

続いて「bundleShortVersionString」で検索します。ここに表示されている文字列が上記の「softwareVersionExternalIdentifiers」に対応するバージョンになります。今回の場合は、「7.6.0」です。

STEP5. 古いバージョンのアプリケーションをダウンロードする

いよいよCharlesを使用して古いバージョンのアプリケーションをダウンロードします。あらかじめ、事前にiTunesからダウンロードしたアプリケ−ションを削除しておきます。

「buyProducts」を右クリックして、「Breakpoints」をクリックします。これで、iTunes Storeからアプリケーションをダウンロードする際に、特定のポイントで通信が停止するようになります。

再びiTunes Storeに戻り、ダウンロードしたいアプリケーションをダウンロードします。Charlesに「Breakpoints」が表示されるようになります。「Edit Request」をクリックします。

画面下部から「XML Text」を選択して、XMLの先頭の「appExtVrsId」の番号を書き換えます。書き換えが完了したら「Execute」をクリックします。

途中、通信が停止した場合は、再度「Execute」をクリックします。最後まで通信が完了したらダウンロードは完了です。

これで任意のバージョンのアプリケーションをiTunes Storeからダウンロードすることができました。(上記は、LINEアプリの初版をダウンロードしています)

再度アプリケーションをダウンロードしようとした場合、再びブレークポイントで通信が遮断されてしまうため、メニューから「Breakponts」を解除しておきましょう。

まとめ

長い道のりでしたが、道中の工程を簡単に整理すると以下のようになります。

  1. Charlseでアプリケーションの情報を取得する
  2. Charlseでダウンロードしたいアプリケーションの番号を確認する
  3. Charlseでブレークポイントを設定し、ダウンロードしたアプリケーションのバージョン情報に書き換えを行う

この工程を繰り返すことで、任意のアプリケーションの任意のバージョンをダウンロードすることができるようになります。あとは、iTunesとiPhoneを同期することで、古いバージョンをiPhoneに導入することが可能です。

注意点としては、すべてのバージョンがダウンロードできるとは限らない点です。あまりに古いバージョンを指定すると、サーバからエラーが返却されますのでご注意ください。

この記事が気に入ったらいいねしよう!
こちらの記事も読まれています
ご意見ボード
匿名で管理人に送信されます。※送信専用です。返信はできません。
ご指摘・ご意見
Top