LoginSignup
11
8

More than 3 years have passed since last update.

iOSアップデートの危険性とダウングレード

Last updated at Posted at 2019-09-03

目的

本記事では、iOSアップデートに置ける開発上での危険性とダウングレードの方法について紹介します。

iOSアップデートにおける開発上での危険性

iOSの開発現場で取り返しのつかないミスの一つに検証端末のアップグレードというものが挙げられます。
私たちが普段使っているiPhoneなどの端末で、手動・自動で行われているOSのアップグレード。iOSの開発に携わらない人であれば、この行為はなんら問題のない当たり前の行動になると思います。
しかしこのアップグレードはiOSの開発現場で不用意に行うと、大問題に繋がる重大なミスになるのです。

なぜダメのなのか?

1 検証ができなくなる

まず第一に挙げらるのが、開発しているアプリケーションの検証ができなくなるという点があります。開発現場ではユーザーがどのバージョンのOSでも問題なく操作できるように、検証端末と呼ばれる各OSごとに分けられた端末で実機実装して挙動を確認し、そこで問題なくパスできるかを確認します。そのため、その検証端末を最新のOSにアップグレードすると古いOS環境での挙動が正常に確認できない事態になるのです。

2 ダウングレードができない

OSをアップデートしたなら、前のOSにダウングレードすればいいじゃないかと考える方もいると思いますが、ほとんどの場合これが不可能なのです。その理由が下記の画像になります。
スクリーンショット 2019-09-04 0.41.10.png
この画像は本日2019/09/03時点でダウングレード可能なバージョンとダウングレード不可能なバージョンを表示しているものです。
画像上部のSigned IPSWsと書かれている下の緑色のバージョンがダウングレード可能な物、Unsigned IPSWsと書かれている下の赤色のバージョンがダウングレード不可能な物になります。つまり、最新のバージョンから一つ前のバージョンまでしかダウングレードできず、ほとんどのバージョンへのダウングレードは不可能ということになります。
では、なぜこのような事が起きるのでしょう???

原因はSHSHの失効

SHSHとはSignature Hash.shの略で、Appleによって発行されるファームウェア(OS)の許可証のことです。この許可証は、iOSファームウェアを端末にインストールして良いかを判断してくれます。つまり、SHSHの著名が切れる(失効する)ともう2度とそのOSにダウンロードすることができなくなるのです。しかもその失効の周期は早く、ダウングレード可能なOSは画像の通り1つ前やよくても2つ前のものになります。そのため、iOSアプリの開発現場などで必要な半年や1年前のOSはほぼダウングレードできないということになります。

ダウングレードの方法

上記の解説でiOSのダウングレードが困難な理由は説明しましたが、運よくまだSHSHが失効していなかった場合のダウングレードの方法を下記に記載します。

1 IPSWファイルのインストール

IPSWとはiPhoneSoftwareの略で、iOSファームウェア(OS)をインストールするためにiTunesで使用されるファイル形式です。
これをこの https://ipsw.me/ から端末と必要なOSバージョンを選んでインストールしてください。

2 端末をリカバリーモードにして、iTunesに繋げる

スクリーンショット 2019-09-04 1.19.01.png
リカバリーモードとは上記のような状態のことで、端末によって仕方が異なります。

・iPhone XとiPhone 8/8 Plusの場合:音量を上げるボタンを押してすぐ離します。次に、音量を下げるボタンを押してすぐ離します。次に、リカバリーモード画面が表示されるまで、スリープボタンを押し続けてください。

・iPhone 7/7 Plus の場合:スリープボタンと音量を下げるボタンを同時に押します。次のリカバリモードの画面が表示されるまで両方のボタンを押し続けてください。

リカバリーモードになったらiTunesに端末を接続してください。
・iPhone 6s以前/iPad/iPod touchの場合:スリープボタンとホームボタンを同時に押します。次のリカバリモードの画面が表示されるまで両方のボタンを押し続けてください。

3 復元

スクリーンショット 2019-09-04 1.23.07.png
すると、iTunesに上記のようなウインドウが表示されます。
そして、Macならoptionキー・WindowsならShiftキーを押しながら復元ボタンをクリックします。
するとIPSWファイルの選択ができるので、先ほどインストールしたファイルを選択し実行します。これで自動的にダウングレードが行われ終了になります。

最後に

この記事は私が現場でやらかしてしまったミスを繰り返さないようにと、記述した記事になります。
私の場合はOSが1時間後に自動アップデートの設定になっており、気付いた時にはOSが最新になってしまっていました。
次なる犠牲を出さないように、本記事を参考にしてくれたら幸いです。
ここまで読んでくれた方々ありがとうございます。

11
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
8