6

(エックスコード 4.5)

コマンドラインから計測器を実行すると、最初は機能しますが、再起動するまで再実行されません。

Instruments からの詳細な出力には、次のものが含まれます。

Instruments : Loading template 'file://localhost/Applications/Xcode.app/Contents/Applications/Instruments.app/Contents/PlugIns/AutomationInstrument.bundle/Contents/Resources/Automation.tracetemplate'
Instruments : Setting Instrument Trace Command : Instrument Command (purpose:Idle; output destination:file://localhost/Users/xxxxx/instrumentscli0.trace)
Instruments : Trace Command Recognized
Instruments : Instrument 'Automation - MyProject' rejected command 'Instrument Command (purpose:Trace; output destination:file://localhost/Users/xxxxx/instrumentscli0.trace)' for target 'Executable (name:MyProject; arguments:)'
Instruments : Instruments Rejected Command
Instruments Trace Error : Failed to start trace.

インストゥルメントを実行するために使用しているコマンド ラインは次のとおりです (わかりやすくするために複数の行に分割されています)。

instruments -v -w <DeviceID>
-t /Applications/Xcode.app/Contents/Applications/Instruments.app/Contents/PlugIns/AutomationInstrument.bundle/Contents/Resources/Automation.tracetemplate
/Users/xxxxx/dev/MyProject/build/Debug-iphoneos/MyProject.app
-e UIASCRIPT /Users/xxxxx/dev/MyProject/UIAutoTests/some_test.js

を使用して最初の (成功した) 実行の前後に実行されていたプロセスとps、 を使用する前後に開いていたファイル/パイプを比較してみましlsofたが、複数回実行されない理由を示唆するものは何も見つかりません。

このエラーは、instruments 内のオートメーション インストゥルメントがpurpose:Traceコマンドを拒否していることを示しているようです。そのため、出力トレース ディレクトリを削除してみました (自動インクリメント ファイル名が問題を引き起こしている場合に備えて)。別のテンプレートでインストゥルメントを実行してみました。実行の合間に、これがブロックしているものをクリアするかどうかを確認しますが、再起動ごとに複数回動作させることはできません.

自動化インストゥルメントまたはインストゥルメントが使用する共有ライブラリに無効な状態があるのではないかと考えています。CI サーバーで自動テストを確実に実行できるように、コマンド ラインからこの状態をリセットする方法が必要です。

前後にロードされた共有ライブラリを比較してアンロードする方法はありますか? 何が持続している可能性があり、それをリセットする方法について他のアイデアを持っている人はいますか?

4

2 に答える 2

1

Xcode 4.4.1(iOS開発センター)をダウンロードして、その機器4.4(4445)を使用してみてください。このバージョンは、すべてのデバイスで機能します。

参考までに、4.5以降または4.6DP4を使用すると、iOS6デバイスのみが正常に応答します。他の人はあなたと同じメッセージで失敗するでしょう。試してみてください。4.4がうまく機能しない場合は、4.3.3でもかまいません。

于 2012-12-26T09:05:44.220 に答える