iOS Gateway リリースノート
以下の記述は、iOS Gatewayの各リリースで導入された新機能や変更の説明を提供しています。以前のバージョンからアップグレードする際には、関連する変更について必ず読むことを強く推奨します。互換性の問題は赤色で強調表示されています。
最新のiOS Gatewayは、Eggplantのダウンロードページから取得できます。
システム要件
動作環境:macOS 11. macOS 10.15, macOS 10.14.
接続先:iOS 15、iOS 14、iOS 13、iOS 12、iOS 11、iOS 10 iPadOS 15, iPadOS 14, iPadOS 13.
ポートの範囲:VNC 5900-5950、WebDriver 8100-8150.
注:シミュレータ上のWebDriver接続では、ポートの手動選択はできません。
6.0.0 (2021年9月22日)
エンハンスメント
- iOS 15、iPadOS 15への対応を追加しました。
- iOS Gatewayのコマンドライン引数に関する説明を提供します。
- 過熱を防ぐために、iOS Gatewayはホストマシンの熱状態をインジケーターで表示し、ログファイルに書き込むようになりました。
バグフィックスと改善
SetRemoteClipboard
コマンドの不具合に対応しました。- AppleTVデバイスのテストに対応しました。
- オートメーション起動時に、デバイスのキーボード設定が更新されなくなりました。
- シミュレーターとデバイス間のタブ切り替えの信頼性を向上させました。
- Gatewayのウィンドウが開いていないときに、新しいウィンドウを開くことができます。
- iOS Betaチェックの信頼性を向上させました。
- プラットフォームの安定性を向上させました。
既知の問題点
- セキュリティ強化のため、Appleはクリップボードの動作を変更しました。 コピーとペーストの両方で、EggplantのSpringboard Runnerアプリが、テスト中のアプリに戻る前に短く表示されるようになりました。
- ホストマシン上でコピーアクションを実行する際、iOS SUTがHelperアプリに切り替わる場合があります。 スクリプト実行中は発生しません。 この問題は、Eggplant Functional 22.0において、ホストマシンのクリップボードの更新が、接続されたiOS SUTに自動的に送信されなくなることで解決されます。
- Appleは、モバイルデバイスの画面にメッセージ付きのオーバーレイを追加しました:"Automation Running"と表示されます。 このことは、テストや物理的なデバイスとの通信に影響を与えることはありません。 メッセージが表示されたら、iOS Gatewayとテスト対象デバイスの接続が切れるので、両方の音量ボタンを押さないようにしてください。
5.8.1 (2021年3月30日)
エンハンスメント
- iOS 14でのWebDriverによる自動化のサポートを追加しました。
バグフィックスと改善
- iOS Gatewayにデバイスを接続した際の、CPUの過剰使用に関する診断機能を改善しました。
- 特定の条件下でiOS Gatewayが長時間アイドル状態になるとクラッシュする不具合に対応しました。
- ステータスインジケータが緑色に更新されずに青色のままとなる場合がある問題を修正しました。
- 診断タブに関連するクラッシュに対応しました。
- 断続的に発生するメモリーリークに対応しました。
- VNC切断時にシミュレーターが強制終了することがなくなりました。
- 端末にSpringboardランナーが重複してインストールされる可能性がある状況に対応しました。
- クラッシュをよりよく診断するためのロギングを改善しました。
- iOS Gatewayの起動前にXcodeのEULA通知でユーザーの承認が必要な場合のワークフローを改善しました。
- Xcodeのコマンドラインツールの新しい診断機能を追加しました。
- macOS 11(Big Sur)をサポートするための軽微なインターフェースの調整。
5.8 (2021年2月8日)
互換性
- 本リリースをもって、macOS 10.12およびmacOS 10.13、iOS 9はサポート対象外となりました。
- macOS 11.に対応しました。
- Apple Siliconコンピュータのサポートを追加しました。
エンハンスメント
- 将来のリリースで高速テストを可能にするため、初期開発を行いました。
既知の問題点
- WebDriver によるテストは、現在 iOS 14 および iPadOS 14 では動作しません。
- オートメーションがブルーステータスライトの状態で動かなくなることがあります。 回避策としては、一旦プラグを抜いてから、再度プラグを差し込んでください。
5.7 (2020年10月22日)
互換性
- macOS 10.12およびmacOS 10.13のサポートは、iOS Gatewayの次のメジャーリリースで終了します。
- iOS 9のサポートは、iOS Gatewayの次のメジャーリリースで終了します。
エンハンスメント
- iOS 14およびiPadOS 14への対応を追加しました。
- iOS Gatewayの起動時に、新しいXcodeのエンドユーザーライセンス契約があるかどうかを確認し、契約がある場合は同意するよう促すようになりました。
既知の問題点
- iOS Gateway 5.7では、WebDriverによるテストは利用できません。 WebDriverのテストが必要な場合は、iOS Gateway 5.6.4とiOS 13を搭載したデバイスをXcode 11で使用します。 iOS Gateway 5.6.4はEggplant mobileダウンロードサイトにて入手できます。
- オートメーションがブルーステータスライトの状態で動かなくなることがあります。 回避策としては、一旦プラグを抜いてから、再度プラグを差し込んでください。
バグフィックス
- デーモン再起動時に発生するクラッシュを修正しました。
- ユーザーが「Run Diagnostics」をクリックしたときに発生するクラッシュを修正しました。
5.6.4 (2020年6月10日)
注:iOS 9のサポートは、iOS Gatewayの次のメジャーリリースで終了します。
注:macOS 10.12およびmacOS 10.13のサポートは、iOS Gatewayの次のメジャーリリースで終了します。
改善点
- iOS 13およびiPadOS 13のWebDriver機能をサポートするようになりました。
- WebDriver 機能を使用する際の Xcode 11 への対応を追加しました。
既知の問題点
- シミュレーター上のWebDriver接続では、手動によるポート選択はできません。
5.6.3 (2020年2月4日)
注:iOS 9のサポートは、iOS Gatewayの次のメジャーリリースで終了します。
注:macOS 10.12およびmacOS 10.13のサポートは、iOS Gatewayの次のメジャーリリースで終了します。
エンハンスメント
- カタリナ公証を追加する。
- 新しいApple Development証明書への対応を追加しました。
- UIから無効な要素を削除する。
既知の問題点
- iOS 13およびiPadOS 13のWebDriver機能は、現在動作していません。
- WebDriver の機能は Xcode 11.x では動作しません。
- シミュレーター上のWebDriver接続では、手動によるポート選択はできません。
5.6.2 (2019年12月11日)
バグフィックス
- Relax modeが常に有効化されるようになりました。
- Eggplant Managerでより良く動作するようにスクリーンショットサービスを更新しました。
既知の問題点
- iOS 13およびiPadOS 13のWebDriver機能は、現在動作していません。
- シミュレーター上のWebDriver接続では、手動によるポート選択はできません。
5.6.1 (2019年11月5日)
注 iOS Gateway 5.5は、Eggplantのダウンロードページよりダウンロードする必要があります
バグフィックス
- デバイス切断時に発生する不具合を修正しました。
既知の問題点
- iOS 13およびiPadOS 13のWebDriver機能は、現在動作していません。
- シミュレーター上のWebDriver接続では、手動によるポート選択はできません。
5.6(2019年9月24日)
エンハンスメント
- iOS 13およびiPadOS 13への対応を追加しました。
- iOS Gateway UIは、接続されたデバイス(iOSまたはiPadOS)のベータ版を実行しているかどうかを表示します。
バグフィックス
- 様々なバグフィックスと改善。
既知の問題点
- iOS 13およびiPadOS 13のWebDriver機能は、現在動作していません。
- シミュレーター上のWebDriver接続では、手動によるポート選択はできません。
5.6(ベータ版)(2019年9月4日)
エンハンスメント
- iOS 13ベータ版への対応を追加しました。
5.5(2019年6月25日)
注 iOS Gateway 5.6.1は、Eggplantのダウンロードページよりダウンロードする必要があります。
エンハンスメント
- 選択したデバイスのプロセス識別子が、そのデバイスがオートメーションを実行しているときに、[General]タブに表示されるようになりました。
- iOS 11以降を搭載した端末でのスクリーンショットのパフォーマンスを向上させました。
- オブジェクトモデルの情報をもとに、要素名、タイプ、画像ファイル名を自動的に決定するEggplant Functionalをサポートするようにしました。 なお、この機能は現在、iOSシミュレータでは動作しません。
- Eggplant Functionalの
AppList()
関数への対応を追加しました。 - iOS Gatewayの改善にご協力ください! iOSGatewayのメニューにある「Share Installation Details」オプションを有効にしておくと、OSやアプリケーションのバージョン情報をEggplantに提供し、今後の開発に役立てることができます。
バグフィックス
- 様々なバグフィックスと改善。
5.4.1(2019年3月29日)
バグフィックス
- Xcode 10.2およびiOS 12.2に影響するバグを修正しました。
5.4(2019年3月22日)
バグフィックス
- iPhone XRに影響する不具合を修正しました。
- 自動署名は、ローカルで使用するためにAppleからプロファイルをダウンロードするようになりました。
5.3 (2018年12月19日)
エンハンスメント
- 複数のシミュレータを同時に実行するためのサポートを追加しました。
- iPhone XS、iPhone XS Max、iPhone XRへの対応を追加。
- iOS 12とXcode 10のWebDriverサポートを追加しました。
- macOS 10.14 (Mojave)のダークモードへの限定的なサポートを追加。
バグフィックス
- シミュレーター使用時に発生するメモリの問題を修正しました。
- ログが不用意に削除される不具合を修正しました。
- 画面の回転に失敗する不具合を修正しました。
5.2(2018年9月20日)
エンハンスメント
- メモリの使用率を向上させます。
- カメラAPIをテストする際の信頼性が向上します。
- ロギング機能を強化します。
既知の問題
- WebDriver は Xcode 10 beta では動作しません。
バグフィックス
- 様々なバグフィックスと機能強化を行いました。
5.2(ベータ版)(2018年8月21日)
エンハンスメント
- iOS 12ベータ版への対応を追加。
既知の問題点
- WebDriverの機能は、現在、iOS 12 betaでは動作しません。 iOS Gatewayを介したWebDriverの機能は、以前のバージョンのiOSでも動作します。
5.1.3 (2018年8月10日)
- WebDriverを更新しました。
5.1.2(2018年7月30日)
バグフィックス
- WebDriverのリモート接続を修正しました。
5.1(2018年5月29日)
エンハンスメント
- Eggplant Functionalの次期メジャーリリースに対応するため、WebDriverを使用したオブジェクトベーステストのサポートを追加しました。
- ログ管理が強化され、デザインも一新されました。
- Xcodeのコマンドラインツールが設定されていない場合に、ログの警告を追加する。
- 小さなUI強化。
バグフィックス
- クラッシュの原因となるいくつかのバグを修正しました。
- 長時間稼働するインストールにおいて、メモリ使用量の増加を引き起こすいくつかの問題を修正しました。
5.0 (2018年2月7日)
エンハンスメント
- Touch IDとFace IDをシミュレートするために、IPAを再署名する際の新しいオプションを追加します。
- Touch IDとFace IDのシステムイベント用の新しいTypeTextキーコードを追加します。 実機では、これらのキーコードがTouch/Face IDのシミュレーションダイアログと連動します。 シミュレーターでは、同じキーコードで、内蔵のAppleScriptを使ってシミュレーターアプリとやりとりします。 Touch IDやFace IDのイベントが成功した場合はTypeText numToChar(0xFF9A)、失敗した場合はTypeText numToChar(0xFF9B)を使用します。
- デバイスごとのVNCクライアント共有オプションが追加されました:「Allow Multiple Connections」、「Client Preference」、「Allow Only One Connection」です。 また、追加の修正オプションとして、「Keep Current VNC Client」があります。
- Diagnosticsタブのチェック機能が追加されました。Appleのコードサイニングやプロビジョニングの問題を解決するのに役立ちます。
バグフィックス
- 実行中にデバイスが切断された場合、一部のiosgdプロセスがハングアップする問題を修正しました。
- その他、細かな修正・改良を行いました。
4.4.1 (2018年1月5日)
バグフィックス
- 一部の環境でiosgdがシミュレーター用のxcodebuildの起動に失敗する問題を修正しました。
4.4(2017年12月4日)
エンハンスメント
- Apple TV(第4世代)のサポートを追加しました。 Apple TV 4K(第5世代)はUSB端子がないため、現在対応していません。
- 使用していないデバイスからのスクリーンショットのキャプチャを停止します。 これにより、オンデバイスおよびホストのアイドル時のCPU使用量を大幅に削減することができます。
- 二要素認証が有効なアカウントの自動署名を有効にします。
- 1つのグローバルな設定を使用する代わりに、各デバイスに個別のプロビジョニングプロファイルを割り当てます。
- 初期設定時、またはiOS GatewayやEggplant Functionalでデバイスを再起動した後に、XcodeによるXCTestオートメーションの起動に失敗した場合に再試行します。
- 自動署名の際、ユーザープロビジョニングプロファイルディレクトリがまだ存在しない場合は、作成します。 Xcode 9では、そのディレクトリを自動的に作成することをやめました。
- Eggplantのコンポーネントに障害が発生した場合、デバイス上のクラッシュログを自動的に収集します。
バグフィックス
- 自動的に署名する場合、すべてのユーザーに対して単一のプロビジョニングプロファイルを作成します。
- コンソール]タブのイベントのタイムスタンプを表示します。
- iosgdの
-InitialApp
コマンドラインオプションを修正しました。
4.3.1 (2017年11月9日)
バグフィックス
- サポート依頼チケットのDescriptionフィールドが迷子になる不具合を修正しました。
- iOS 11.1において、iPhone Plus端末およびiPhone Xで座標が正しくマッピングされない不具合を回避します。
4.3(2017年9月18日)
エンハンスメント
- iOS 11とXcode 9のサポートを追加しました。
- 署名やプロビジョニングの問題のトラブルシューティングに役立つ新しい「Diagnostics」タブを追加しました。
- Eggplant Functionalで
SutInfo()
関数を使ってアクセスできるIDメッセージに、デバイスタイプを可読的に表示する。 - スクリーンスライスを制御するための2つの新しいデフォルト、
ScreenSlicingX
とScreenSlicingY
を追加しました。 - 自動署名が有効な場合、関連する秘密鍵を持つ証明書のみへの署名を考慮します。
バグフィックス
- ホームボタンが一定回数押された後にオートメーションの再起動をトリガーする
MaxHomeButtonPressesBeforeAutomationRestart
デフォルトが追加されました。 これは、特定の環境における自動化の失敗を回避するために機能します。 - Xcodeのアップグレード時の署名の問題を修正するために、自動化を開始する前にデバイスからTPXCTestRunnerを適切に削除します。
- Allow Multiple Connectionsチェックボックスをクリアすると、複数のクライアントからの接続が正しく禁止されるようになりました。
4.2(2017年7月6日)
エンハンスメント
- マニュアルテスト用の非可逆画像圧縮(JPEG)をサポートします。
- 各機器のバッテリー残量表示を表示します。
- Bonjourが機能していないときにバックグラウンドのiosgdプロセスを見つけることを可能にするために、ブーリアン・ユーザー・デフォルトのUseFileBasedDaemonFindingを追加する。
バグフィックス
- デバイスの再起動時にプレースホルダ画像を表示します。
- 同じバンドルIDに対して2回連続してUninstallAppコマンドを実行できない問題を修正しました。
- iOS 10.3以上のデバイスで、再起動後にオートメーションを正しく再起動します。
- Swipeコマンドを実行した後に生じる不安定な問題を修正しました。
- iOS 7とiOS 8のスワイプの持続時間が最小0.5秒になるように調整します。
- スクリーン」タブが更新されない、またはステータスインジケータが変化しない不具合を修正しました。
- Bonjourがループバックアドレスしか報告しない場合に、バックグラウンドのiosgdプロセスを検出する際の問題を修正しました。
変更点
- ClearAlphaChannel (bool) のユーザーデフォルトを MakeScreenshotsOpaque にリネーム。
- 画面更新の問題を診断するためのTraceScreenshots(bool)ユーザーデフォルトを追加しました。
- 特定の状況を検出した場合に、より目立つエラーをログに追加します。
- キーチェーン・アクセスで正しいキーチェーンを選択するように、ユーザーアプリの署名の説明を更新しました。
4.1.3(2017年5月23日)
バグフィックス
- iOS 10.3+で一部の.ipaファイルのインストールができない不具合を修正しました。
- 一部の環境でスクリーンショットが更新されなくなる不具合を修正しました。
4.1.2(2017年4月3日)
エンハンスメント
- Xcode 8.3使用時にiOS 9をサポートするようにしました。
4.1.1 (2017年3月31日)
エンハンスメント
- iOS 10.3への対応を追加しました。
バグフィックス
- iosgdのログファイルに正しいバージョンを表示します。
- デバイスが選択されていないときに、デバイスリストのコンテキストメニュー項目を有効にする。
4.1(2017年3月15日)
エンハンスメント
- eggPlant FunctionalのSetDeviceLocationコマンドで位置をシミュレートします。
- iOS Gatewayとiosgdの両方のインスタンスを終了するためのメニュー項目とキーコンボ。
- 終了モード間でキーコンボを入れ替えることができる。
- 複数のネットワークインターフェースが存在する場合、特に仮想マシンの実行時に、より望ましいIPアドレスをタイトルバーに表示するようにしました。
バグフィックス
- デバイスサービスが動作しているときに、デバイスのステータスインジケータがグレーのままになってしまう不具合を修正しました。
- その他、細かいバグやクラッシュを修正しました。
4.0.1 (2017年2月7日)
バグフィックス
- Auto Assign Portがシステム上の他のポートと競合する場合の問題を修正しました。
- 時折発生するクラッシュを修正しました。
4.0(2017年1月30日)
エンハンスメント
- iOS Gatewayの1つのウィンドウから複数のデバイスを管理することができます。
- 性能と効率の向上。
- iosgdコマンドラインツール。
- 接続時にデバイスを起動させる「Auto Start on Connect」オプション。
- スクリーンショットのキャプチャ速度を制限するためのデバイスオプション「Max Frames Per Second」。
- デバイス間でVNCポートが競合する可能性があることを検出します。
変更点
- iOS Gatewayの画面表示を使ったジェスチャーの実行はサポートされなくなりました。
- デバイス固有のメニュー項目は、新しいデバイスメニューに移動しました。
バグフィックス
- マイナーなバグとクラッシュを修正しました。
3.4.1 (2016年10月24日)
バグフィックス
- Swiftアプリの署名ができない問題を修正しました。
- Xcode 8を使用した場合の署名時のクラッシュを修正しました。
- すべての有効なプロファイルを赤ではなく黒でマークします。
- デバイス/アプリ一覧にリフレッシュボタンを表示します。
- バージョンを持たないアプリのツールチップに「(null)」バージョンを表示しない。
- TPXCTestRunner Xcodeプロジェクトで稀に発生するランタイムリンクの問題を修正しました。
- 端末再起動後にVNCのIPとパスワードを表示します。
3.4(2016年10月12日)
エンハンスメント
- eggPlant Manager 5.2への対応。
バグフィックス
- 一部の端末で文字入力ができない不具合を修正しました。
- 一部の端末でエラーが発生しにくい別の方法で、端末ごとの設定を保存します。
- ディストリビューションやXcodeが生成したプロビジョニングプロファイルを自動選択することはありません。
- 標準的でない場所にあるXcodeのインストールを使用できない問題を修正しました。
- コマンドラインでポートが指定されている場合、デバイスのポート設定を正しくオーバーライドする。
3.3.1 (2016年9月21日)
エンハンスメント
- 手動署名を使用する場合、互換性のないプロビジョニングプロファイルは赤色で表示されます。
- Apple Web APIのエラーに対して、より良いメッセージを表示します。
バグフィックス
- 最近のAppleのWeb APIの変更により、自動署名が正しく機能しなくなる問題を修正しました。
3.3(2016年9月14日)
エンハンスメント
- iOS 10とXcode 8をサポートします。
- デバイスを自動化する際に使用するプロビジョニングプロファイルと開発者署名IDを明示的に選択する。
- macOSの標準的な設定インターフェイスです。
- 接続または選択されているデバイスがない状態で、VNCサーバーを起動します。 新しいデバイスでオートメーションサービスを開始するには、eggPlant Functionalの
LaunchApp "DEVICE_NAME_OR_UDID : APP_NAME_OR_BUNDLE_ID"
シンタックスを使用します。 - eggPlant Functionalの
LaunchApp "DEVICE_NAME_OR_UDID : APP_NAME_OR_BUNDLE_ID"
構文で、コロンの両側にスペースを必要としないようになりました。 - デバイスの自動化が停止してもVNCサーバーが停止しないようになり、eggPlant Functionalからフレークしたデバイスを再起動できるようになりました。
- 初期VNCポートを含むいくつかの環境設定をデバイスに保存します。
- 現在自動化されているデバイスのデバイスログを記録するオプションです。
- eggPlant FunctionalからiOS Gatewayへファイルを転送する際に、自動的にディレクトリを作成します。
- eggPlant FunctionalとiOS Gateway間でファイルを転送する際に、ゲートウェイローカルパスのチルダを拡張する。
- アプリの拡張子を含む.ipaファイルの再署名が可能。
- デバイスの接続・切断時にeggPlant Functionalにアプリ一覧の更新を送信する。
- iOS 8使用時に作成されるInstrumentデータのサイズを制限する。
バグフィックス
- すべてのApple製アプリを起動できるようになりました。
- iOS 9+で半秒未満のジェスチャーを許可します。
既知の問題点
- Xcode 8は、iOS 7またはiOS 8デバイスの自動化に使用することはできません。 これはAppleの制限事項です。
3.22(2016年7月19日)
変更点
- オートメーションサービスが利用可能になる前にデバイスの利用可能性が報告されるxcodebuildの問題を回避することができます。 特定のユーザー環境において、再起動後に自動化が開始されない場合は、ターミナルで次のコマンドを実行してタイミングを調整してください:
defaults write com.testplant.ios-gateway PostRebootPostAutomationReadyDelay -float 10
- Xcode由来のデータとヘルパープロジェクトを/tmpではなく、ユーザーのApplication Supportディレクトリに保存します。
3.21(2016年6月30日)
バグフィックス
- チーム識別子の競合により自動化が開始できない問題を修正しました。
- iOSのクリップボードを読み込む際のタイミングの問題を修正しました(eggPlant Functional 16.10以降が必要です)。
3.2(2016年6月24日)
エンハンスメント
TypeText
コマンドのUnicode対応により、多言語対応が可能になりました。SetRemoteClipboard
eggPlant Functionalコマンドを使用して、iOSのクリップボードを設定します。RemoteClipboard()
eggPlant Functional関数を使って、iOSのクリップボードを読み込む。 eggPlant Functional バージョン16.10以降が必要です。- 端末のロック(電源)ボタンや音量ボタンの自動化に対応。
- iOS Gatewayのアップグレード後の初回起動時にリリースノートを表示します。
- 異なるiOS Gatewayインスタンスからのログを異なるログファイルに保存します。
- サイドバーリストのデバイスやアプリの選択を、リスト再読み込み後に記憶する。
バグフィックス
- 低速なホストでアプリのインストールに失敗することがあるタイミングの問題を修正しました。
- ホームボタンの2回押しが1回押しと解釈されることがある不具合を修正しました。
既知の問題点
実際のiOS端末では、eggPlant FunctionalRemoteClipboard()
関数が呼ばれると、一時的に真っ黒な画面に切り替わることがあるそうです。 この交換は、iOSのセキュリティ上の制限のために必要です。 RemoteClipboard()
呼び出し直後のイベントが、アプリの入れ替え中に実行されることがあり、イベントが失われたように見えることがあります。 この状況は将来のリリースで自動的に処理される予定ですが、このバージョンでは、RemoteClipboard()
の呼び出しの直後にWait 1
コマンドを挿入することを推奨します。
3.1 (2016年5月12日)
エンハンスメント
- iOS 9+のシミュレーターに対応。
- ゲートウェイアプリから直接サポートリクエストを送信することができます。
- クラッシュログを自動的に検出し、サポートリクエストの提出を提案します。
- ファイル用(デフォルトはDEBUG)とコンソール用(デフォルトはINFO)のログレベルを分けて設定します。
- 複数のインスタンスのログを区別するために、ログファイルにプロセスIDが含まれるようになりました。
- いくつかのログメッセージでログレベルが異なる(最も顕著なのは、xcodebuildの出力がVERBOSEではなくDEBUGレベルになったこと)。
- 特定の一般的なシナリオについて、よりユーザーフレンドリーなエラーログを表示するようにしました。
- 回転コマンドの間の待ち時間が不要になりました。
- アプリを終了してから起動するまでの待ち時間が不要になりました。
- アプリの終了がより迅速になりました(Automation Agentの再起動が不要になりました)。
- アプリのインストールやアンインストール後にeggPlant Functionalのアプリ一覧を更新する。
- Automation Agentの起動が若干早くなりました。
- XCTestの結果でxcodebuildの派生データディレクトリを埋め尽くさない。
- デバイスリストのデバイス名の大文字小文字を正しく表示します。
- コアコンポーネント(VNC Server、Automation Agent、Surface Capture Agent)の状態変化を示すメッセージをstdoutに出力します。
バグフィックス
- いくつかのクラッシュを修正しました。
- iPhone 5の端末で正しく向きが設定されます。
- iOS 8端末では常に正しい方向に回転する。
- 非常に遅延の大きいネットワークで発生したエラーの後でも、VNC接続を受け入れ続けます。
- 異なる端末でアプリを起動する際は、必ず端末を切り替えてください。
- 異なるデバイスで素早くアプリを起動する際にも、オートメーションは失敗しません。
- 存在しないアプリを起動しようとしても、オートメーションが失敗することはない。
- クラッシュ後にオートメーションが正しく開始される。
- iOS 7またはiOS 8のeggOnAgentまたはeggOnLauncherの.ipaファイルをインストールする際にデッドロックが発生しないようにしました。
3.04(2016年4月7日)
バグフィックス
- Surface Capture Agentでクラッシュする問題を修正しました。
- 新しいデバイスでアプリを起動する際に、AutomationとSurface Capture Agentsを切り替えます。
- iOS 9.3以上の端末で、サーバー起動時に選択したアプリにスワップする。
3.03(2016年3月16日)
エンハンスメント
- インストールやアンインストールの後にアプリ一覧を自動的に更新し、新しいアプリをインストールした後にアンインストールできるようにしました。
- すべてのアプリを表示する」の設定に関係なく、開発者の署名がないアプリを名前で起動したり、アンインストールしたりすることができる。
バグフィックス
- いくつかの一般的でないクラッシュを修正しました。
- 横向きで画面が切れるのを防止する。
- 稀にデバイスが複数回掲載されることを防止する。
3.02(2016年2月23日)
バグフィックス
- スクリーンショットが更新されなくなる不具合を修正しました。
- 使用量が極端に多くなる(4GB以上)メモリーリークを修正しました。
- 一部のLaunchApp eggPlant Functionalコマンドで予期せぬ動作が発生する不具合を修正しました。
3.01(2016年2月17日)
エンハンスメント
- コマンドラインからの実行で、引数(-InitialApp) を指定せずに実行すると、デフォルトで Springboard になるようになりました。
- 引数で指定するUDIDまたはデバイス名を指定します -InitialDevice
- サイドバーにインストールされているすべてのアプリを表示する「Show All Apps」環境設定が追加されました。 eggPlant Functionalの「Connection > Launch App」メニューや、引数 -InitialApp にも適用されます。
- 署名ウィンドウがアクティブなときに、Sign Appボタンを無効にしないようにしました。 ボタンをクリックすると、アクティブなウィンドウが最前面に表示されるようになりました。
- Surface Capture Agentのパフォーマンスとフレームレートを向上させました。 注:iOS 9+のデバイスでは、Surface Capture AgentがAutomation Agentの後に起動するようになりました。
バグフィックス
- InstallAppeggPlant Functionalコマンドが動作しない不具合を修正しました。
- RebooteggPlant Functionalコマンドが動作しない不具合を修正しました。
- アプリは必ず目的の端末にインストールしてください。
- ホームボタンが150回押されるごとにオートメーションを再開することで、iOS 9+のオートメーション障害を防止します。
- Springboardに切り替わらず、黒い画面が表示されたままになる不具合を修正しました。
- openコマンドを使用せずにコマンドラインから実行した場合に、Automation Agentが起動しない不具合を修正しました。
既知の問題点
- デバイスが初めて接続され、「Trust This Computer?」アラートで「
Trust
」を選択すると、接続されている他のすべてのデバイスでオートメーションが停止するようになります。 - ホームボタンが150回押されるごとにオートメーションが再起動するため、
TypeText HomeButton, HomeButton
eggPlant Functionalスクリプトでダブルプレスが失敗しても、リトライすれば2回目は成功することが期待できるようになりました。 - システムのポップアップがアクティブな場合、Automation Agent起動や再起動に失敗することがあります。
3.0(2016年1月14日)
エンハンスメント
- iOS 9+のデバイスでXcode 7 UI Testingを使用します。 関連するiOS 9+の機能強化は以下の通りです:
- アラートダイアログ、アラートシート、システムポップアップで問題が発生しないようになりました。
- ホームボタンを押したときの動作が瞬時に完了するようになりました。
- タイピングが格段に速くなりました。
- 注意:オートコレクトの候補が自動的に受け入れられる場合が多く、入力した文字が正しく表示されないことがあります。 iOSの設定アプリで自動キーボードオプションを無効にすることで、この問題を回避することができます。
- eggPlant 機能コマンドでホームボタンをダブルプッシュ TypeText HomeButton, HomeButton
- バックスティックなど、より多くの特殊文字に対応。
- バンドルIDで任意のアプリを起動する。
- バンドルIDで任意のアプリを終了する。
- eggOnLauncher と eggOnAgent のサポートアプリは、iOS 9+ では不要になりました。
- iOS 7とiOS 8用のeggOnLauncherとeggOnAgentサポートアプリは、.dmgにパッケージされるのではなく、ゲートウェイに組み込まれるようになりました。
- 署名ウィンドウのコンボボックスからeggOnLauncherとeggOnAgentの.ipaファイルを選択し、署名してください。
- iOSの署名資産(署名証明書、App ID、プロビジョニングプロファイルなど)を作成するためのヘルプを内蔵しています。
- iOS GatewayマシンからeggPlant Functionalマシンへのファイル転送をサポートします。
- デバイスを選択した状態で(アプリではなく)サーバーを起動すると、ホーム画面(Springboard)が表示されます。
- デバイスの場合はiOSのバージョンとUDID、アプリの場合はアプリのバージョンとバンドルIDを表示するツールチップです。
- アプリバンドルIDやデバイスのUDIDをクリップボードにコピーするためのメニューです。
- 接続順ではなく、アルファベット順でデバイスをリストアップします。
バグフィックス
- iOS Gatewayマシンがネットワークに接続されていない場合、リスニングIPアドレスとして127.0.0.1を表示します。
- USBで接続されている機器のみを機器リストに掲載する。
- デバイスの回転通知をすべてのクライアントではなく、サポートされているVNCクライアントに送信することで、VNCクライアントの互換性を向上させました。
2.7(2015年12月3日)
互換性についての注意事項
- eggOnAgent:2.6リリース以前のバージョンを持っている場合、これをインストールする必要があります。
- eggOnLauncher:すでにインストールされている場合、eggOnLauncherを更新する必要はありません。
ロギング
- iOS Gatewayのウィンドウ、ログファイル、システムログ(Console.app)など、すべての場所で同じログメッセージを表示することができます。
- すべてのログメッセージに、一貫した書式のタイムスタンプ、ログレベル、およびログメッセージを発行したコンポーネントが含まれるようになりました。
- ログレベルは、ERROR、WARN、INFO(デフォルト)、DEBUG、VERBOSEの中からユーザーが選択可能です。
- ログレベルに応じた色分け。
- ログをユーザーが選択可能なディレクトリにファイルに保存します。
- Finderでログディレクトリを表示させる。
- ログファイルの保存期間をユーザーが制御できます(デフォルトは1週間)。
エンハンスメント
- iOSGatewayの新しいインスタンスを起動するためのメニュー項目(Window -> New Instance; Cmd+Shift+N)の設定。
- 現在実行中のdev-signedアプリをkillしようとする前に、Springboardに切り替えます。
- Automation Agentのインジケーターが起動中に青く点灯するようになりました。
- iOSGatewayのウィンドウ内でのスクリーンショットの更新を制限し、CPU使用率を下げました(VNC接続では制限しない)。
- 設定ポップアップウィンドウのルック&フィールを改善しました。
- 特にiOS 8.4.1+で、開発者サイン入りアプリの入力速度を向上させました。
バグフィックス
- アプリのインストールとアンインストールを繰り返しても、iOS Gatewayの再起動が不要になりました
- 端末に存在しないアプリにスワップしようとすることがなくなりました
- iOSGateway.appで作成日・変更日が正しく表示されるようになりました。
- アプリ一覧で「eggOnLauncher」ではなく「Springboard」と表示される。
2.62 (2015年11月5日)
ハイライト
- 現在の開発者署名のアプリを終了する前に、自動的にSpringboardに切り替わるようになりました。
- 連続する2つのキーイベントが、1つのユニコード文字に合成されてしまうことがある問題を修正しました。
2.61 (2015年10月21日)
ハイライト
- iOS 9以降では、オートメーションのハングアップから回復した後、自動的に正しいアプリにスワップバックします。
- デバイスに開発コード付きアプリがインストールされていない場合、「Loading...」ではなく「No dev-signed apps」と表示します。
- ユーザーがreturnKeyを送信すると、iOSの任意のリターンキー(「Go」「Search」など)をヒットさせます。
- iOS 9の開発者向けアプリで、複数のTypeTextキーを1つの文字列にまとめ、入力速度を向上させます。
- ユーザーがUnicode文字を入力しようとすると、iOS Gatewayのコンソールに警告が表示されます。
バグフィックス
- VNCサーバーが停止した後にInstrumentがアプリを起動する問題を修正しました。
- eggOnAgentにarmv6対応アーキテクチャを追加しました。
- アプリ起動後にまれに発生するハングアップを修正しました。
- VNCサーバーを停止する際に発生するクラッシュを修正しました。
- アプリを数百回入れ替えた後に発生するクラッシュを修正しました。
- iOSデバイスの再起動を待つ間に、まれに発生するクラッシュを修正しました。
- VNCサーバーを適切にシャットダウンし、デバイスが物理的に切断された場合にスタートボタンを無効化しました。
- InstallAppに続いてLaunchAppが動作しない不具合を修正しました。
- LaunchAppメッセージの解析で、ごくまれにアプリが起動しないことがある問題を修正しました。
- iOS Gatewayでホームボタンを押した後、開発者サイン入りアプリが強制的に再立ち上げされる問題を修正しました。
- iOS 9のSpringboardモードでTypeTextを使用する際に、一部の文字がスキップされるのを防ぐ。
- 長い文字列を入力中にオートメーションが再起動する不具合を修正しました。
- オートメーションのハングアップが発生した際に、(現在オートメーションしているアプリではなく)選択したアプリが再立ち上げされる問題を修正しました。
- iOS Gatewayで「eggOnLauncher」の代わりに「Springboard」を再度表示する。
2.6(2015年9月17日)
ハイライト
- iOS 9に対応しました。
- 端末のRebootに対応しました。 reboot コマンドはパラメータを持ちません。 デバイスはアクティブな接続でなければなりません。
- KillAppサポートを追加しました。
KillAppコマンドを使用するには、eggPlant Functionalスクリプトの中で、対象アプリの名前またはバンドルIDを指定して呼び出します。 例KillApp "CoolNewGame"
現在、KillAppのサポートは、iOS 8とiOS 9の端末で以下のように異なっています:
- iOS 8: ほとんどの開発者署名入りアプリとサードパーティアプリを終了させることができます。 アプリをkillすると、killされる前のアプリが前景に表示されます。
- iOS 9: ほとんどの開発者署名付きアプリを終了させることができます。 アプリがフォアグラウンドにあるとき、またはスプリングボードにいるときに、アプリを終了させることができます。
バグフィックス
- 別端末でLaunchAppを使用すると表示端末が切り替わらない不具合を修正。
- パスワードが設定されていない場合に、接続に予想以上の時間がかかる不具合を修正しました。
2.51(2015年6月24日)
バグフィックス
- VNCサーバーの停止時にクラッシュする問題を修正しました。
- 画面更新時に発生するクラッシュを修正しました。
- iOSの画面を部分的に受信しただけの場合、更新が止まることがある問題を修正しました。
- 連続した大文字の入力が安定しない不具合を修正しました。
- ランチャーがSpringboardに移行する際にスタックする問題を修正しました。
2.5(2015年6月1日)
ハイライト
本リリースでは、以下の変更点があります:
ZLIB圧縮のサポートを追加しました。
画面の拡大縮小率を制御するための
ScreenScaleRatio
設定(NSUserDefault)を追加しました。 この比率は1:N
で、N
は整数値である。 例えば、ScreenScaleRatio
を2
に設定すると、画面は1:2または50%に拡大されます。 デフォルトは1
であり、ゼロスケーリングである。 このオプションを設定するには、コマンドプロンプトで次のように入力します。defaults write com.testplant.ios-gateway ScreenScaleRatio integer_value
アルファチャンネルのクリアを制御するための
ClearAlphaChannel
設定(NSUserDefault)を追加しました。 デフォルトはYES
で、有効になっています。 コマンドプロンプトで次のように入力すると、このオプションを無効にすることができます:defaults write com.testplant.ios-gateway ClearAlphaChannel NO
自動割り当てポート
一般設定の設定でサーバーポートがゼロに設定されている場合に、iOS Gatewayが自動的にポートを割り当てるようにする機能を追加しました。新しいファイルを受信する際に、既存のiOS Gatewayファイルを上書きすることを指定する
OverwriteFilesWhenReceiving
設定(NSUserDefault)を追加しました。 デフォルトはYES
で、有効になっています。 コマンドプロンプトで次のように入力すると、無効にすることができます:defaults write com.testplant.ios-gateway OverwriteFilesWhenReceiving NO
様々なバグフィックスと細かい改良を加えました。
一般的なパフォーマンスの向上を追加しました。
2.41 (2015年3月24日)
ハイライト
Application Resigningの大幅な改良を行いました。
アプリの退会処理を改善するため、提供されたモバイルプロビジョニングプロファイルから資格を取得するようになりました(アプリケーション内に埋め込まれたプロファイルからではなく)。 これにより、アプリの提供者と再署名者が異なるApple Developer Groupの出身である場合の様々な問題を防ぐことができます(これらの制限はiOS 8.1.3から追加されました)。 しかし、アプリケーションが使用するエンタイトルメントがモバイルプロビジョニングプロファイルに存在することが重要であることに変わりはありません。 必要なエンタイトルメントがない場合、アプリケーションは正しく動作せず、完全に起動しない可能性があります。
- モバイルプロビジョニングプロファイルからエンタイトルメントを使用するように変更されました。
- 提供されたプロファイルがデベロッパープロファイルでない場合にエラーを出すようにしました。
- 提供されたプロファイルがアプリ内のプロファイルと一致しない場合に警告を表示するようにしました。
- 識別子の誤認識の問題を回避するため、eggOnLauncherとeggOnAgentの古いコピーを削除するようになりました。
2.4 (2015年3月2日)
ハイライト
- ゲートウェイから直接IPAをインストール、アンインストールする機能を追加しました。
- Mobile Orientationを設定するプロトコルを追加。
- 簡易ファイル転送のためのプロトコルを追加。
- ピンチジェスチャーを送信するためのプロトコルを追加。
- Springboardモードでのタイピング時のメジャー改修。
- iOS Gatewayはライセンスが不要になりました。
バグフィックス
- アプリのアップロード時にアプリケーションリストを更新する。
- LaunchAppがkAMDNotConnectedErrorで失敗することがある不具合を修正しました。
- VNC Serverを停止/再起動するとクラッシュする問題を修正しました。
- チームIDが異なるアプリを退会する際の不具合を修正しました。
- get-task-allowのエンタイトルメントがfalseのとき、アプリを終了できるようにした。
- ディスパッチ時のクラッシュを修正。
- eggOnAgents と eggOnLauncher を iOS 8.1.3 にインストールできるように更新しました。
2.31 (2015年1月29日)
- eggPlantのRotateMobileコマンドに対応しました。
- Dev Signed Appでのタイピングに関する大幅な修正。
- タイトル付きアプリの辞任機能を追加。
- コンソールエリアを大きくする機能を追加。
- コンソールエリアをクリアするメニュー項目を追加。
- LaunchAppがアプリプロセスの起動に失敗することがある問題を修正しました。
- 画面の更新が止まることがある不具合を修正しました。
2.30(2014年12月19日)
- ズームモードでiPhone 6+に対応しました。
- 新しいアプリケーションを起動すると、Phone上でプロセスが実行されたままになることがある問題を修正しました。
- Launch Appを実行するとGatewayがクラッシュすることがある問題を修正しました。
2.23(2014年11月6日)
- iPhoneでSpringboardモード時に数字の6が入力できない問題を修正しました。
2.22 (2014年11月6日)
- Drag/Swipeイベントで例外が発生する問題を修正しました。
2.21(2014年11月5日)
- Yosemite(Mac OS X 10.10)でIPAに署名できない問題を修正しました。
- ワイルドカードのプロビジョニングプロファイルが、同じプロファイルを持つ他のアプリを上書きしてしまう問題を修正しました。
- iOS 10.8でiPadの「Split」キーボードで入力する場合の不具合を修正しました。
- Springboardモードで入力すると、例外で自動化が停止する問題を修正しました
- iOSGateway Utility Suiteの一部の不具合を修正しました。
2.20 (2014年10月29日)
ハイライト
開発プロビジョニングプロファイルでiPhoneアプリ(IPA)を署名する機能を追加しました。 Apple から署名用 ID とモバイルプロビジョニングプロファイルをダウンロードしている必要があります。
iOS Gatewayは、1台のパソコンから複数のiOS 8デバイスに接続するための同時アクセスに対応しました。 VNC接続ごとにiOS Gatewayの新しいコピーを起動します:
open -n -a iOSGateway
開発プロビジョニングプロファイルで署名されたアプリの場合、iOS GatewayはTypeTextコマンドのキーボードの切り替えに対応するようになりました。
互換性についての注意事項
- 一部の環境での展開を簡略化するため、アプリケーション名をiOSGateway(1語)に変更しました。 iOS Gateway.appの旧版を削除してください。
- Xcode 6では開発用プロビジョニングプロファイルでxcarchivesに署名することが難しいため、eggOnAgentとeggOnLauncherを.IPAファイルとして配布するようになりました。 これらのユーティリティに署名して配置したことがある場合は、再度署名する必要はありません。
バグフィックス
- コマンドラインで指定したInitialDeviceが見つからない場合に警告を出すようにした
- eggPlantクライアントを切断するとクラッシュすることがあったのを修正しました。
- SUTで長い文字列を入力しにくいタイミングの不具合を修正しました。
- iPhone 6+でクリックがオフセットされる不具合を修正しました。
- アプリ起動後にオートメーションランプが赤色のままとなる不具合を修正しました。
2.11 (2014年9月29日)
- 開発用プロビジョニングプロファイルで署名されたアプリがポップアップを適切に処理しない問題を修正しました。
2.10 (2014年9月25日)
- 起動時に特定の端末やアプリに接続する機能を追加しました:
open -a iOSGateway --args -InitialDevice [devicename] -InitialApp [appname].
- iOSデバイスのSettings>Developerで「Enable UI Automation」が有効になっていない場合に警告を表示するようにした
- オートメーションハングプロテクションの改善により、必要なときにオートメーションを再起動できるようになりました。
- スクリーンアップデートに失敗すると、iOS Gatewayがハングアップすることがある問題を修正しました。
- デバイス名のアポストロフィーの解決を容易にしました。
- eggPlantクライアントを切断するとクラッシュすることがあったのを修正しました。
- Automation/Springboard が必要ないときに再起動する問題を修正しました。
2.0(2014年9月19日)
- iOS Gatewayが起動時にアップデートを確認するようになりました。
- LaunchAppがApp Nameとして「Springboard」をサポートしました。
- スクリーンバッファの更新が止まることがある不具合を修正しました。
- リバースコネクションに失敗した場合の処理を改善。
- GUI更新時にクラッシュする可能性がある場所を修正。
- VNCサーバーが起動していない状態でエージェントが起動する不具合を修正しました。
- iOSのバージョンを動的に検出する機能を追加。
- Gatewayの出力におけるいくつかの誤字を修正。
1.04 (2014年9月4日)
- iOS Gatewayを非表示または最小化する際のパフォーマンスの問題を解決しました。
- 後続のスクリプトの実行/接続でイベントが無視される問題を解決しました。
- スクリーンキャプチャのパフォーマンスを向上させました
- アイドル状態のときに接続が切れることがある問題を修正しました。
- HomeButtonを使用した後にロギングがオフになる問題を修正しました
- オートメーションがハングアップした際に、正しく再起動しない(イベントが送信されない)問題を修正
- eggPlantとの接続/切断時に発生するクラッシュを修正しました。
1.03 (2014年8月28日)
- スレッド0ディスパッチ」クラッシュの再現例をすべて解消。
- Javascriptの例外により、Automation Agentが停止/再起動する場合があることを修正しました。
- VNC通信(ミューテックスロック)において、捕捉されない例外によるクラッシュを修正しました。
- iOS Gatewayの各部の通信の信頼性を向上させました。
- Gatewayのタイミングをより速く、より安定化。
- VNCサーバーの停止/終了によるクラッシュを修正しました。
1.02 (2014年8月5日)
- eggPlant Functional 14.20+からLaunchAppに対応しました。
- アプリディスカバリーに対応し、デバイス上で有効なDevelopment署名付きアプリが利用可能であることを表示するようにしました。
- ライセンスが早期に失効する問題を修正しました。
1.01 (2014年7月25日)
- イベント送信からiOSデバイスへの反映までのレイテンシーを短縮。
- Mac OS X 10.8への対応を追加しました。
- 起動時にウィンドウを復元する際の不具合を修正しました。
- iOSデバイスにイベントが投稿されないことがある不具合を修正しました