読者です 読者をやめる 読者になる 読者になる

やらなイカ?

たぶん、iOS/Androidアプリの開発・テスト関係。

Remote TestKitを使ってみた(iOSデバイス編)

iOS Testing

NTTレゾナントさんの運営する、リモートでAndroid端末をレンタルしてアプリの検証に使えるサービス Remote TestKitiOSデバイスをサポートしたとのことで、使ってみました。

尚、Remote TestKitは(株)カトマックさんの「リモート・スマホ・レンタル」というサービスが母体となっています。 リモート・スマホ・レンタルについては、昨年の「第2回 Androidテスト祭り」で紹介していただきました。(参考にならないエントリ: 第2回 Androidテスト祭りを開催しました #atecfes2 #android_tec - やらなイカ?

Remote TestKitの特徴

主な特徴は以下の通りです

  • 30分単位のレンタル(チケット制で約\500)
  • チケット購入はPayPal。企業向けに請求書による支払いも選択可能
  • 端末は実機とリモート接続するもので、誰かがレンタル中のものは利用できない
  • レンタル予約はできない
  • OS、機種名、プロセッサ、GPUなどで検索(絞り込み)が可能
  • 開発中アプリのインストール、スクリーンショット、動画撮影が可能
  • iOS端末は、iOS 5.1.1, iOS 6.1.2の端末を確認。iOS 7はまだ無い模様(9/27時点)
  • iOSアプリはTest Flight利用できません(設定.appが利用できないため、プロビジョニングプロファイルをインストールできない)

また、Androidデバイスではadb接続が可能で、従って自動テストツールなども利用可能です。

Remote TestKitのインストールと起動

Remote TestKitの利用には、まず専用クライアントをインストールします。ダウンロードページから、Windows用、Mac用のクライアントがダウンロードできます。

Mac用は、あらかじめ[システム環境設定]-[セキュリティとプライバシー]の「ダウンロードしたアプリケーションの実行許可」で「すべてのアプリケーションを許可」にした状態でインストールする必要があります。 (そうしないと「”Remote TestKit”は壊れているため開けません。”ゴミ箱”に入れる必要があります」というエラーで起動できなくなります)

インストールしたRemote TestKit.appを起動すると、ログインもしくは新規ユーザ登録を促すダイアログが表示されます。ログインすると、レンタル可能なデバイスの一覧が表示されます。

f:id:nowsprinting:20130927151920p:plain

ここで端末を選択し、[レンタル]ボタンをクリックすると30分間デバイスを利用できます(別ウィンドウが開きます)

f:id:nowsprinting:20130927153620p:plain

"iPad mini (A)"と表示されていますが、恐らくこの"A"が端末の個体識別になっているはずです。一度UDIDを登録した端末を狙ってレンタルするため、メモしておくのがよさそうです。

アプリ(ipaファイル)のインストール

メニューから[アプリをインストール...]をクリックすると、デバイスのUDIDが表示されます。これをiOS Dev Centerでデバイス登録し、プロビジョニングプロファイルを更新し、ビルドしたipaファイルを指定して[インストール]ボタンをクリックするとリモートのデバイスにインストールすることができます。簡単ですね!*1

f:id:nowsprinting:20130927153913p:plain

尚、Xcode5ではプロビジョニングプロファイルの更新はメニューの[Preferences...]から[Accounts]タブを開き、[View Details...]をクリックして開いたダイアログ左下のリロードアイコンをクリックするとできます。簡単ですね!

また、特徴のところに書いたとおり、設定.appを利用できないためTest Flight経由でのipaインストールはできません。

アプリの操作

無事ipaをインストールできたら、起動してみます。タップの代わりにマウス操作(二本指以上はできない模様)、端末の向き変更、スクリーンショット撮影、動画撮影が可能です。

f:id:nowsprinting:20130927154752p:plain

Xcodeと接続できないので、デバッグ実行やコンソールの参照などはできず、また自動テストツールも使えない*2ので用途は限られますが、持っていないデバイスでの動作確認には使えるのではないでしょうか。

でもiOSアプリの開発者はほぼ全機種持っているような気がするので、過去のOSバージョンを拡充するなどしてもらえたら嬉しいかも知れません。

*1:ここで最初のチケットが時間切れになりました

*2:試していませんがSikuliは使えるはず