2012-07-09 26 views
8

一部のiOSアプリケーションの自動テストソリューションを立ち上げようとしています。私はフルーツストラップを使って、接続されたiPhoneにコンパイル済みのアプリを転送してインストールしていますが、インストールが完了した後に自動的にアプリケーションを起動する方法を見つけるのには苦労しています。つながったiPhoneにインストールしたアプリを起動する

Fruitstrapには、GDBデバッガでアプリケーションを実行するオプションがあります。これは動作します。残念ながら、デバッガが接続されていない状態でアプリを実行する必要のあるテストケースがあります(特別なクラッシュ処理)。私は、Fruitstrapが使用しているMobileDeviceライブラリで利用可能なリソースを混乱させる時間を費やしましたが、アプリケーションの起動時に何かを有効にすることはできませんでした。

アイデア?

+0

このデバイスはjailbrokenですか、この問題を解決するために脱獄できますか?また、Wi-Fi通信を使用できますか、またはUSBテザー通信のみに限定されていますか? – Nate

+0

デバイスをjailbrokenすることはできません。無線LANはオプションですが、優先されません。 – BlueVoid

答えて

2

ブートストラッププログラムを作成し、URLスキームを使用することは、一部の人にとってはオプションになる可能性がありますが、確かに考慮する必要がありますが、私の要件に適合しません。

私がやったことは、フルーツストラップでデバッガでアプリを起動することでした。私は(GDB_PREP_CMDSで定義)は、次の準備のコマンドが含まれるようにfruitstrapコンパイルを再:カスタムシグナルハンドラ(この場合はクラッシュハンドラが)処理するよう

handle all noprint pass nostop 
continue 

ハンドルは、プログラムへの信号を通過します信号。継続は私が必要とするもので、デバッガの起動後にアプリが実際に実行されるようにしました。

残念ながら私は回避策がわからない不幸な欠陥が1つあります。 GDBのARM7版には、darwin版のように 'set dont_handle_bad_access'コマンドがありません。なんらかの理由で、EXC_BAD_ACCESS信号をプログラムに渡しても機能せず、アプリケーションがハングします。これは大部分のクラッシュに対するシグナルであるため、これは重要です。しかし、それが今のところ立つように、私ができることは最高です。少なくとも、それは捕らえられない例外を処理します。

1

カスタムURLスキームを探している可能性があります。また、あなたは、あなたがしようとしているものと同様のものに遭遇かどうかを確認するためのiOSにURL Schemesグーグルできるの実装カスタムURLスキーム

http://developer.apple.com/library/ios/#DOCUMENTATION/iPhone/Conceptual/iPhoneOSProgrammingGuide/AdvancedAppTricks/AdvancedAppTricks.html

を:

は、次のドキュメントを見てくださいとまでスクロール行う。

これがあなたを助けたかどうか教えてください。あなたが成功したかどうか聞いても面白いでしょう。

乾杯。

+0

URLSchemesは巧妙なアイデアですが、私にとってはそれが実行可能な解決策であるかどうかはわかりません。私はデバイスが繋がれているコンピュータから直接アプリを起動できる必要があり、URLSchemesはデバイス上の他のアプリ内でしか動作しないと思います。 – BlueVoid

2

fruitstrapまたはXcodeを使用して、 "bootstrap"プログラムを起動して、目的のアプリケーションをマイケルの説明に従ってカスタムURL経由で起動させることで、何でもできるようになります。

デバッガの下でブートストラッププログラムが実行されている間、URLによって呼び出されるプログラムは正常に実行されます。

+0

それは価値のあるアイデアですが、残念ながら私のための選択肢ではありません。 URLハンドラを含めるように起動するアプリのソースを変更することはできません。また、テストするアプリケーションと共にブートストラッププログラムをインストールするとオーバーヘッドが大きくなります。 – BlueVoid

関連する問題