15
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【iOS】アプリアップデートのテスト方法

Last updated at Posted at 2018-11-30

5度目の投稿です。社会人になって初めての冬が訪れようとしています。
最近ほんとに寒くなってきたので家から出たくありません。ので、引きこもって、いっぱい記事書こうね。

本題です。

皆さんはアプリのバージョンアップ時、ちゃんとアップデートのテストをしていますでしょうか?当たり前じゃん、ていう方、ちゃんと正しい方法で行えていますでしょうか?

自分はiOSアプリの開発をやり始めた当初は、
古いバージョンのアプリが入ったデバイスを用意 -> xcodeから実機でrun
で、アップデートと同じ挙動を再現できると思っていました。

しかし、appleのデベロッパーサイトには、

Xcodeのアプリインストールプロセスは開発のために最適化されていますが、iTunesやApp Storeのアプリケーションのインストール方法とは少し異なります。

とあります。

具体的には、

  • .appバンドル内に、App Storeのアップデート後には存在しないはずの"frankenbuild"が作成される。
  • アップグレードに時間がかかりすぎると発生するはずの"watchdog crashes"が隠されてしまう。

などの問題が起こりうるとのこと。(frankenbuild...?watchdog crashes...?)
とにかく、xcodeからのインストールによるアップデートの再現は、テストのやり方としては完璧ではないらしい。。

ということで今回は、正しいアプリアップデートのテストのやり方についてのお話です。(内部テスト向けのお話です)

古いやり方(前置き)

昔のappleのデベロッパーサイトにはiTunesを利用したアップデートのやり方が記載されています。しかし、最新バージョンのiTunesではこの方法は使用することができなくなっています。

1. ビルドをアーカイブ

xcodeでプロジェクトを開き、メニューからProduct -> Archiveと選択。アーカイブが作成され、Organizerウィンドウが開きます。

2. ipaファイルの作成

Organizerウィンドウで先ほど作成したアーカイブを選択し、Distribute Appを押します。
"Ad Hoc"を選択し"Next" 、その後適切な項目入力して"Next"、最後に"Export"でipaファイルが作成されます。

3.iTunesを使って実機にインストール

先ほどexportした.ipaファイルをダブルクリックするとiTunesで開かれます。
<- 最新のiTunes(12.8)では.ipaファイルを開くことはできません!
iTunes12.7からAppの管理方法が変わり、iTunes上でアプリの管理ができなくなりました。アプリの管理については全て、iOSデバイス上で完結させる仕組みに変更されたのです。ので、現在、以上の方法でのアップデートのテストはできなくなりました。

今のやり方

TestFlightを使いましょう。
古いバージョンアプリが入っている端末で、TestFlightによるインストールを行うことでアップデートと同じ挙動を再現できます。
以下具体的なやり方です。

(前提)

1. AppStoreConnectでテスターを登録&アプリ配布

AppStoreConnectにログインします。マイApp -> テストを行いたいアプリを選択 -> TestFlightタブ -> AppStoreConnectユーザを選択します。
スクリーンショット 2018-11-30 17.56.31.png
[AppStoreConnectユーザを追加]ウィンドウが表示されます。AppStoreConnectユーザがリストで表示される(初めはAppStoreConnectにログインしているユーザのみが表示されているはず)ので、適当なテスターを選択します。ここで選択したテスターのメールアドレス宛にテストアプリが配布されることになります。
適当なユーザが登録されていない場合は、ウィンドウ内にある「ユーザと役割」から該当テスターを登録してください。
テスター選択後、追加ボタンを押します。これでテスターの登録が完了です。
この段階で、自動的にテストアプリがメールで対象のテスターのメールアドレス宛に配布されているはずです。

2. 検証端末でアップデートテスト

検証端末に「TestFlight」アプリをAppStoreからインストールしておきましょう。また、アップデートのテストを行いたいアプリの古いバージョンをインストールしておきましょう。
さっき登録したテスターのメールアドレス宛にテストアプリが配布されているはずですので、検証端末でそのメールを開きます。(検証端末内のメールアプリでメール受け取れるようにしてると楽です)。メール内の「View in TestFlight」を押すとTestFlightアプリが起動し、アプリをインストールできるようになります。
「Install」を押して、アップデートのテストを行いましょう!

DeployGateやTestFairyなどでもアップデートと同じ挙動させることは可能ですが、そこには触れませんでした。
アップデートの検証の仕方をGoogole検索すると昔のappleのデベロッパーサイトで紹介されているやり方が今でも出てくるので、それに騙される人が少しでも減ってくれれば、というのが今回の記事の主旨となっております笑
少しでも誰かのお役に立てれば幸いです。

15
11
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
15
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?