2010-05-19 45 views
25

Trong Xcode, có cách nào để chỉ định rằng tất cả các tệp trong một thư mục được biên dịch bởi một mục tiêu. Ví dụ. mục tiêu 'Thử nghiệm' sẽ tự động biên dịch tất cả các tệp trong thư mục 'Bài kiểm tra', trong khi mục tiêu 'Ứng dụng' biên dịch mọi thứ trong thư mục 'Nguồn'.Xcode - Tự động thêm tất cả các tệp trong một thư mục vào một mục tiêu

Hôm nay, cách tôi đang thực hiện, là thêm tệp vào mục tiêu mỗi khi tôi tạo. Điều này cảm thấy một lỗi bit dễ bị và dư thừa kể từ khi các tập tin đã được tổ chức trong các thư mục chính xác.

Cảm ơn.

Trả lời

0

Có - chỉ cần chọn tất cả các tệp trong thư mục và sử dụng cửa sổ thanh tra (tab mục tiêu).

+4

Nhưng với điều này, mỗi khi tệp mới được tạo, mục tiêu sẽ cần được chỉ định. Điều gì sẽ là tốt đẹp là, nếu có một cách tự động thiết lập mục tiêu này dựa trên thư mục trong đó tập tin được in. Sau đó, sẽ không cần phải chỉ định các mục tiêu cho các tập tin mọi lúc, vì chúng sẽ nằm trong thư mục chính xác. ví dụ. Thử nghiệm, ví dụ ứng dụng từ trên cao. –

+0

@Akshay: Tôi thấy những gì bạn đang nói - có, điều đó có thể tiết kiệm một chút thời gian. Bạn có thể sử dụng Trình báo cáo lỗi của Apple để thực hiện các yêu cầu tính năng như thế này. –

+2

chỉ tìm thấy điều này từ googling - có HAS là một cách để làm điều này, tôi đặt cược. đang tìm cách làm điều tương tự. – taber

-1

Xcode có thể mở rộng bằng cách sử dụng tập lệnh shell. Bạn có thể thiết lập kịch bản lệnh shell để chạy tại thời gian xây dựng để bạn về cơ bản có thể làm cho xcode làm bất cứ điều gì bạn muốn. Bạn chỉ bị giới hạn bởi khả năng kịch bản lệnh shell của mình và tôi chắc chắn bạn cũng có thể tìm kiếm trợ giúp cho điều đó.

+0

Chính xác như thế nào? Tất nhiên nó không nên biên dịch lại tất cả các tập tin tất cả các thời gian, vv – Albert

+0

Tôi nghĩ rằng đây là một gợi ý tốt. – eonist

2

Dưới đây là một số câu hỏi khác trên stackoverflow cố gắng để đối phó với vấn đề này:

Add files to an Xcode project from a script?

Automatically adding generated source files to an xcode project

+1

Không có điều nào trong số này có liên quan ở đây. Đầu tiên là về các tệp tài nguyên và Akshay hỏi về ** các tệp nguồn **. Cái thứ hai không liên quan, liên kết cho dự án đã chết và nó không chơi tốt với theo dõi phụ thuộc; sửa đổi một dự án Xcode sau khi xây dựng đã được bắt đầu giống như vá trình biên dịch nhị phân của bạn trong khi nó đang biên dịch một tệp nguồn. Nó có thể hoạt động, mặc dù tôi sẽ không dựa vào điều đó trong một giây. – Mecki

+0

@Mecki Dự án minit đã bị xóa, nhưng dự án https://github.com/expanz/xcode-editor vẫn còn tồn tại. Sửa đổi một dự án Xcode giống như sửa đổi một tập tin thực hiện, có lẽ không phải là điều an toàn nhất để làm, nhưng có thể thực hiện được. Với sự kết hợp đúng đắn giữa các công cụ và quy trình, nó sẽ hoạt động. Nó phụ thuộc vào những gì bạn muốn làm. – ThomasW

3

Bạn có thể thêm nhiều file với các mục tiêu với điều này. Nhưng nó đòi hỏi một số công việc trong việc lọc những tập tin mà bạn muốn.

Project> Target> Compile Nguồn> cmd + A để chọn tất cả các file> bộ lọc cho các tập tin .m> bấm vào nút "Add"

Tương tự như các nguồn lực khác,

Project> Target> Sao chép Bundle Resources> bộ lọc cho .png .wav .strings .xib .storyboard, v.v.> nhấp vào "Thêm"

7

Khi bạn thêm tệp vào dự án Xcode, bạn sẽ có hai tùy chọn để lựa chọn trong các tập tin chọn hộp thoại:

  1. Tạo nhóm cho bất kỳ thư mục bổ sung.
  2. Tạo tài liệu tham khảo thư mục cho bất kỳ thư mục được thêm nào.

Bạn cần chọn tùy chọn thứ hai. Trong trường hợp này, Xcode sẽ luôn phản ánh các thay đổi đối với các tệp và thư mục con của thư mục đã chọn.

Có vẻ như câu hỏi đã được hỏi một thời gian dài trước đây, nhưng nó vẫn nằm ở vị trí đầu tiên trong tìm kiếm của google, vì vậy hy vọng nó sẽ hữu ích cho ai đó.

+10

Thật không may nó không hoạt động nữa. Xcode không thêm tham chiếu thư mục vào "các nguồn biên dịch". Bạn không chắc chắn về Xcode 4, nhưng Xcode 5 nó chắc chắn không hoạt động. Apple đã xóa rất nhiều tính năng tiện dụng, ví dụ: cái này và kéo các thư mục đến một dự án khác. –

+0

Trong XCode 7.3 bạn nên thêm thư mục và trước khi nhấn nút bạn có ở bên trái nút "Tùy chọn". bạn nên bấm vào nó và chọn tùy chọn Tạo nhóm cho bất kỳ thư mục được thêm vào nào. – user2067656

4

Điều này hoàn toàn bị hỏng trong Xcode. Thêm thư mục theo tham chiếu thư mục (câu trả lời của @ Pavel) nên là chính xác - nhưng nó không hoạt động. Xem thêm https://stackoverflow.com/a/42600782/2518722. Tôi đang sử dụng Xcode 8.3, nhưng nó đã bị phá vỡ cho nhiều thế hệ trước, quá.

Không có một cách giải quyết hoàn hảo, nhưng đây là những gì tôi làm:

  1. Kéo thư mục vào dự án
  2. Khi được hỏi, bộ tùy chọn như sau:
    • Chọn Tạo nhóm cho bất kỳ thư mục nào được thêm (nghĩa là đối diện với những gì bạn cho là đúng)
    • Bỏ chọnSao chép tập tin nếu cần (vì bạn muốn có một liên kết chứ không phải bản sao).

Bây giờ bất kỳ thay đổi các tập tin trong thư mục chia sẻ sẽ được phản ánh trong Xcode, đó là tốt.

Nhưng, không có cách nào làm mới nhóm. Nếu ai đó đã thêm các tệp mới vào thư mục, bạn phải xóa nhóm đó trong Xcode và thêm lại nó trước khi các tệp đó hiển thị. Điều này rõ ràng là bất tiện, nhưng ít nhất nó không phải là quá dễ bị lỗi người dùng - và là tốt hơn so với việc thêm các tập tin bằng tay một-by-một.

Có thể nói rằng tôi thấy nó không thể tin được rằng một tính năng đơn giản và cần thiết như vậy của một môi trường phát triển bị hỏng ở đây.

+0

Có radar cho lỗi này không? Tôi giả sử nó vẫn bị hỏng trong XCode 9. – rmooney

+0

Tôi chưa kiểm tra trong Xcode 9. Thành thật mà nói tôi thấy Xcode hoàn toàn đầy đủ các lỗi, nhiều lỗi đã được báo cáo nhưng chưa bao giờ giải quyết, rằng tôi đã mất niềm tin vào Apple quá trình phát triển hoàn toàn. – HughHughTeotl

+0

@rmooney Nó vẫn bị hỏng như của Xcode 9.2 –

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