2011-09-24 20 views
7

Tôi đã tìm thấy một số tham chiếu đến cài đặt xây dựng trong XCode được gọi là EXCLUDED_SOURCE_FILE_NAMES - mẫu bên dưới gợi ý cách hoạt động. Nhưng tôi không thể tìm ra cách sử dụng tùy chọn này trong XCode (4.02).Làm cách nào để sử dụng EXCLUDED_SOURCE_FILE_NAMES trong XCode 4 (iOS)

"EXCLUDED_SOURCE_FILE_NAMES [sdk = iphoneos *] [arch = *]" = ...

Mục đích là để có một hoặc nhiều file nguồn biên dịch khi mục tiêu là mô phỏng, và một bộ khác nhau của nguồn tệp biên dịch khi mục tiêu là thiết bị iOS.

Tôi tìm tôi cần nói xcode danh sách tệp cho từng mục tiêu. Vì vậy, làm thế nào để thực hiện điều đó bằng cách sử dụng cài đặt này? Ở đâu trong XCode nó đi? Có tài liệu hướng dẫn cách thực hiện việc này không?

Tôi cũng cần làm điều tương tự với lib tĩnh. Cụ thể - Tôi có một lib tĩnh tôi muốn đưa vào dự án của mình, nhưng lib chỉ hỗ trợ arm không i386, vì vậy, khi xây dựng cho trình mô phỏng, tôi cần loại trừ tệp này khỏi bị liên kết!

Việc này có thể thực hiện được không?

Trả lời

9

Về cơ bản EXCLUDED_SOURCE_FILE_NAMES sẽ chỉ cần loại bỏ các tập tin từ đó xây dựng cấu hình

Nếu bạn muốn xóa một thư viện tĩnh từ một cấu hình xây dựng, thì đây là con đường để đi.

Để thực hiện điều này, chỉ cần chuyển đến "Cài đặt xây dựng" của Mục tiêu, sau đó nhấp vào nút "Thêm cài đặt xây dựng" và thêm cấu hình EXCLUDED_SOURCE_FILE_NAMES cho mục tiêu của bạn.

Sau đó, bạn có thể chỉ định tên tập tin để loại trừ cho mỗi cấu hình build ...

Trong trường hợp của bạn và kể từ khi bạn nhắc đến một danh sách các tập tin khác nhau, sau đó có lẽ bạn nên tạo 2 tập hợp các gói ứng dụng, sau đó loại trừ các gói trong EXCLUDED_SOURCE_FILE_NAMES

Vì vậy, nếu bạn tạo một gói có tên là simulator.bundle và một gói có tên là release.bundle, bạn sẽ loại trừ tệp trình mô phỏng.bundle trong Cấu hình phát hành và giải phóng.bundle trong cấu hình trình mô phỏng ...

+6

Tôi cũng sẽ thêm, rằng EXCLUDED_SOURCE_FILE_NAMES dự kiến ​​sẽ có một số ems được phân tách bằng dấu cách và không phải dấu phẩy. nghĩa là "pattern1 * pattern2" là chính xác, trong khi "pattern1 *, pattern2 *" sẽ không hoạt động. –

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