2011-09-26 35 views
10

Tôi muốn thêm một số tệp vào giai đoạn xây dựng Nguồn biên dịch bằng cách sử dụng tập lệnh trong XCode, nó lấy từ một số tham chiếu thư mục. Tôi đã không thể tìm thấy nhiều tài liệu cho đến nay.Hướng dẫn hoặc Hướng dẫn viết kịch bản Giai đoạn xây dựng mã XCode

  1. Tài liệu chung ở đâu (hoặc hướng dẫn tốt) để viết các giai đoạn dựng mã XCode?
  2. Làm cách nào để thêm tệp vào giai đoạn Biên dịch nguồn?
  3. Làm thế nào tôi có thể khám phá thông tin về dự án và tham chiếu thư mục bên trong nó?
  4. Có cân nhắc đặc biệt nào nếu tôi muốn viết kịch bản bằng Ruby hoặc Python so với tập lệnh bash?
+0

Tôi đang cố gắng làm điều tương tự, bạn đã quản lý để có được một kịch bản để làm điều này? Vấn đề của tôi là tôi đang sửa đổi project.pbxproj trong quá trình xây dựng, vì vậy Xcode không làm mới các nguồn biên dịch trong cùng một bản dựng, chỉ dành cho bản dựng tiếp theo. –

Trả lời

20

Để thêm tệp vào giai đoạn xây dựng Compile Sources bằng cách sử dụng tập lệnh, bạn sẽ cần phải thao tác tệp project.pbxproj của dự án của bạn theo chương trình. Nói chung, bạn sẽ thực hiện điều này bằng cách phân tích cú pháp tệp project.pbxproj thành cấu trúc dữ liệu trong bộ nhớ, thao tác cấu trúc dữ liệu đó thông qua một giao diện lập trình và sau đó ghi cấu trúc dữ liệu ra tệp project.pbxproj mới.

Có một số dự án ra khỏi đó mà khả năng có thể giúp bạn làm điều này, tôi đã không cố gắng nào của họ:

Và đây là một loạt các bài đăng trên blog có thông tin chung tuyệt vời về nội dung và định dạng của các tệp XCode project.pbxproj.

Cuối cùng, nó có thể là đáng chú ý là cho thao tác rất đơn giản, đặc biệt là nếu bạn không phải lo lắng về mỹ phẩm của tập tin project.pbxproj của bạn bị sai lầm lên, bạn có thể làm theo đề xuất qua tại this Stack Overflow answer để phân tích cú pháp tệp project.pbxproj trên dòng lệnh như sau:

plutil -convert xml1 -o - myproj.xcodeproj/project.pbxproj

Phân tích cú pháp vui vẻ!

+0

Trong khi nhiều hơn khả năng để thực hiện theo cách này, nó sẽ là một tội phạm được trả theo giờ để làm điều đó. – ctpenrose

+0

Đừng dựa vào 'plutil' để thực hiện công việc, tôi chỉ có trường hợp nó tạo ra dữ liệu bị hỏng mà không hề hiển thị thông báo cảnh báo. – jcayzac

+2

Đây là một API Xcode khác: https://github.com/jasperblues/XcodeEditor –

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