2009-06-07 23 views

Trả lời

3

Từ menu XCode kịch bản, "Chỉnh sửa Scripts tài" nhập đoạn mã sau:

#!/bin/bash 
result=$(osascript << END 
tell application "Xcode" 
tell active project document 
    set projectPath to path as string 
end tell 
end tell 
return projectPath 
END 
) 

cd "$result" 

/Developer/clangchecker/scan-build -k -V xcodebuild -configuration Debug -sdk iphonesimulator3.0 

Rõ ràng, bạn sẽ cần phải điều chỉnh đường dẫn đến cài đặt lại Clang, và điều chỉnh để các phiên bản của SDK bạn đang sử dụng.

Hãy nhớ thực hiện "Xóa tất cả" ngay lập tức trước khi sử dụng tính năng quét quét hoặc kết quả có thể chưa hoàn chỉnh.

+0

Mỗi khi tôi chạy tập lệnh này, tôi phải khởi động lại Xcode để chạy lại. Tại sao? Có cách nào để chạy tập lệnh hai lần mà không cần khởi động lại không? Nó sẽ không cho phép tôi gọi nó nữa! –

+2

Hmmm .... Tôi chưa bao giờ gặp vấn đề đó ... HOWEVER: Tính năng này được tích hợp vào XCode 3.2, tôi chỉ đơn giản là nâng cấp và quên hoàn toàn tập lệnh này. – mmc

0

Tôi tin rằng biến môi trường $ {PROJECT_DIR} là những gì bạn muốn cho thư mục của dự án đang chạy tập lệnh xây dựng giai đoạn.

+0

$ {PROJECT_DIR} sẽ hoạt động trong tập lệnh pha xây dựng, có, nhưng không phải trong tập lệnh người dùng có thể được kích hoạt từ trình đơn tập lệnh. – mmc

+0

Vâng, câu hỏi của bạn rất rõ ràng. Lấy làm tiếc. Bạn vẫn có thể tạo ra một mục tiêu kêu vang trong dự án của bạn (đây là những gì tôi thường làm). Không phải là sạch như một kịch bản menu (và bạn phải tạo ra một trong mỗi dự án, tất nhiên), nhưng nó hoạt động tốt. –

+0

Ah ha! Tôi thậm chí không nghĩ đến việc thiết lập một mục tiêu riêng biệt. Rất nhiều cách khác nhau để tiếp cận cái này, tôi đoán vậy. – mmc

1

FYI, Xcode 3.2 (Chỉ có Snow Leopard tôi tin) bao gồm Trình phân tích tĩnh Clang trong tùy chọn trình đơn "Xây dựng và phân tích".

http://iosdevelopertips.com/xcode/static-code-analysis-clang-and-xcode-3-2.html

Một nhược điểm của Xcode 3.2 (ngoài nó chỉ làm việc trên Snow Leopard) là mô phỏng v2.x dường như không làm việc - trên thực tế, tôi đã nhìn thấy bài viết chỉ ra rằng v2. x xây dựng không được hỗ trợ ở tất cả.

Các vấn đề liên quan