2012-09-25 22 views
6

(Xcode 4.5)Làm thế nào để thiết lập lại sau khi cụ tự động hóa Instrument từ chối lệnh

Khi chạy công cụ từ dòng lệnh nó hoạt động lần đầu tiên nhưng sau đó nó sẽ không chạy lại cho đến sau khi tôi khởi động lại.

Sản lượng tiết từ dụng cụ bao gồm này:

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. 

Các dòng lệnh Tôi đang sử dụng để chạy công cụ này (chia vào nhiều dòng cho rõ ràng):

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 

Tôi đã đã thử so sánh quy trình nào đang chạy trước và sau lần chạy đầu tiên (thành công) sử dụng ps và tệp/ống nào được mở trước và sau khi sử dụng lsof, nhưng tôi không thể tìm thấy bất cứ điều gì để đề xuất lý do tại sao nó không chạy nhiều lần.

Lỗi dường như gợi ý rằng công cụ tự động hóa trong công cụ đang từ chối lệnh purpose:Trace, vì vậy tôi đã thử xóa thư mục theo dõi đầu ra (trong trường hợp tên tệp tự động tăng lên gây ra sự cố), tôi đã thử chạy các công cụ có mẫu khác nhau giữa các lần chạy để xem điều này có xóa bất kỳ thứ gì đang chặn nó hay không, nhưng tôi không thể làm cho nó hoạt động nhiều lần trong mỗi lần khởi động lại.

Nghi ngờ của tôi là có một số trạng thái không hợp lệ trong công cụ Tự động hóa hoặc trong một thư viện được sử dụng bởi các công cụ. Tôi cần một cách để thiết lập lại trạng thái này từ dòng lệnh để tôi có thể chạy các kiểm tra tự động một cách đáng tin cậy trên máy chủ CI.

Có cách nào so sánh thư viện được chia sẻ nào được tải trước/sau và dỡ chúng không? Có ai có bất kỳ ý tưởng nào khác về những gì có thể bền bỉ và cách đặt lại nó không?

+1

Tôi vẫn thấy điều này sau 3 tháng. Tôi thậm chí đã thử 4.6p4. Bạn có bất kỳ thông tin chi tiết hoặc hack mới nào không? Điều này gây phiền toái cho tôi vì nó hoạt động hoàn hảo trên tất cả các thiết bị iOS6 ngoại trừ một iPod touch với iOS5 (cố ý) trên đó. Liên quan: http://lists.apple.com/archives/xcode-users/2012/Sep/msg00187.html –

Trả lời

1

Thử tải xuống Xcode 4.4.1 (trung tâm dev iOS) và sử dụng công cụ 4.4 (4445). Phiên bản này đang hoạt động cho tất cả các thiết bị của tôi.

FYI, khi tôi sử dụng 4,5+ hoặc thậm chí 4,6DP4, chỉ các thiết bị iOS6 phản hồi bình thường; những người khác sẽ thất bại với cùng một thông điệp như bạn. Hãy thử, thậm chí có thể 4.3.3 nếu 4.4 không hoạt động tốt.

0

Đối với bất kỳ ai khác có vấn đề này, tôi sẽ giải thích những gì đã làm việc cho tôi và cách tôi giải quyết vấn đề này.

Tôi đã thực hiện lệnh ps để xem quy trình nào đang chạy. Tôi thấy rằng các nhạc cụ vẫn đang chạy. Sau đó tôi đã làm killall instruments và đã giết chết quá trình công cụ. Sau đó tôi đã thực hiện lệnh cụ của mình và nó hoạt động hoàn hảo sau đó.