2017-11-27 16 views
5

Là một phần của quá trình xây dựng Unity, chúng tôi kéo và thả một thư mục các tệp nguồn C được tạo bởi Unity IDE vào dự án XCode iOS của chúng tôi. Chúng tôi muốn XCode để "Tạo nhóm" cho các tập tin bởi vì các tập tin tiêu đề dường như không được công nhận bởi trình biên dịch khi sử dụng "Tạo tài liệu tham khảo thư mục".Có thể thêm tập lệnh chứa các tệp nguồn vào một dự án Xcode để biên dịch không?

Tôi đang tự hỏi liệu có cách nào để viết mã này không vì vậy chúng tôi không phải tự kéo các thư mục vào XCode mỗi lần. Thêm giai đoạn xây dựng "Sao chép tệp" dường như chỉ hoạt động nếu tôi chọn "Tạo tham chiếu thư mục". Khi tôi chọn "Tạo nhóm", phần "Sao chép tệp" vẫn trống. Đây có phải là lỗi trong XCode hay tôi đang làm điều gì sai? Tôi đang sử dụng XCode 9.1.

Tôi biết Apple khuyên bạn nên tạo một khung chứ không phải sao chép trong thư mục tệp nguồn. Lý do chúng tôi không thể làm điều đó là bởi vì chúng tôi đang dựa vào quá trình xây dựng Unity cung cấp cho chúng tôi một loạt các tệp nguồn C. Cảm ơn!

+0

Tôi nghĩ rằng đây là câu hỏi hợp lệ. Dù sao, bỏ phiếu xuống mà không đưa ra một lý do không phải là rất xây dựng! –

+2

Có lẽ một câu hỏi hợp lệ, nhưng có một câu hỏi không rõ ràng. Bạn có mục tiêu thêm tệp để biên dịch không? Hoặc là các tệp tài nguyên này hoặc cả hai. Nó có vẻ như nó là các tập tin để biên dịch. Và bạn có muốn sử dụng Xcode bình thường khác hơn là (ví dụ: thêm các tập tin tùy ý ra khỏi ban nhạc của điều này kéo và thả bạn đang nói về?). Tại sao một nhu cầu như vậy tồn tại (nghĩa là tại sao các tệp thay đổi quá nhiều đến nỗi bạn sẽ cần điều này?). Chỉ hỏi vì nó khiến tôi hơi nghi ngờ về quá trình xây dựng nói chung ... –

+0

Đây là những tệp nguồn C cần phải có mặt tại thời gian biên dịch. Chúng tôi cần vẫn có thể thực hiện các thay đổi khác đối với dự án XCode độc ​​lập với điều này. Các tệp nguồn C này thay đổi mỗi khi chúng ta tạo một Unity build mới. –

Trả lời

0

Xcode làm cho nó có thể để kịch bản thêm các tập tin nguồn chẳng hạn như hình ảnh cho tệp dự án bằng cách sử dụng tab "Giai đoạn xây dựng", tuy nhiên, điều này không hoạt động đối với các tệp mã nguồn cần được nhận dạng tại thời gian biên dịch. May mắn thay, tôi đã tìm được một tập lệnh Python được phát triển bởi cộng đồng, điều này cho phép chúng tôi thực hiện điều này.

https://github.com/kronenthaler/mod-pbxproj

Với kịch bản này, chúng tôi có thể làm cho tất cả các loại sửa đổi hồ sơ dự án bao gồm thêm hoặc xóa các tập tin.

Xem liên kết này để có danh sách đầy đủ các hoạt động có sẵn:

https://github.com/kronenthaler/mod-pbxproj/wiki

1

Trong Xcode, bạn có thể quản lý quá trình tạo của mình trong tab "Tạo giai đoạn" khi bạn chọn mục tiêu ứng dụng của mình. Các tác vụ này được thực hiện trên mỗi bản dựng ứng dụng của bạn, trừ khi được chỉ định khác theo một số giai đoạn (ví dụ: bạn có thể chọn chỉ chạy giai đoạn khi ứng dụng cài đặt lần đầu tiên).

Nhấp vào nút + và bạn có thể thêm "Sao chép tệp giai đoạn" để sao chép các tệp đã chọn của bạn vào ứng dụng. Khi thêm các tệp bạn sẽ có thể chọn nếu các thư mục được thêm sẽ tạo các tham chiếu nhóm hoặc thư mục.

Bạn cũng có thể thêm tùy chỉnh "Chạy giai đoạn tập lệnh" và viết một số mã bash để làm bất cứ điều gì bạn thích hoặc thậm chí chạy tập lệnh bên ngoài sẽ làm việc phức tạp hơn.

+1

Việc thêm giai đoạn xây dựng "Sao chép tệp" dường như hoạt động nếu tôi chọn "Tạo tham chiếu thư mục", nhưng tham chiếu thư mục không hữu ích cho chúng tôi vì dường như trình biên dịch sẽ không nhận ra tệp nguồn nếu chúng nằm trong tham chiếu thư mục thay vì một nhóm. Khi tôi chọn "Tạo nhóm", phần "Sao chép tệp" vẫn trống. Đây có phải là lỗi trong XCode không? Tôi đang sử dụng XCode 9.1. –

+1

Về phương pháp "Chạy giai đoạn tập lệnh", tôi có thể tìm thấy một tập lệnh mẫu trong câu trả lời cho câu hỏi này nhưng dường như chỉ hoạt động để thêm các tài nguyên như hình ảnh hoặc dữ liệu. Bạn có thể cung cấp một tập lệnh mẫu có thể hoạt động để bao gồm các tệp nguồn trong dự án xcode cho thời gian biên dịch không? https://stackoverflow.com/questions/1371351/add-files-to-an-xcode-project-from-a-script –

+1

không có ví dụ cụ thể nhưng nếu nó hoạt động cho các tài nguyên, việc này tương đối dễ thực hiện nó xử lý các loại tệp. Bạn có thể tạo một thư mục tham chiếu trống trong dự án Xcode của bạn và sau đó sao chép các tệp trong bước xây dựng bằng tập lệnh của bạn. một lưu ý quan trọng mặc dù - nếu bạn muốn các tập tin sao chép được biên soạn, bạn sẽ cần phải vị trí giai đoạn này trên "biên dịch nguồn" (bạn có thể sắp xếp lại bằng cách kéo giai đoạn). Điều này áp dụng cho cả hai loại bản sao và chạy kịch bản lệnh – Artal

1

xcode-> nút Phases-> nhấp chuột (+) Xây dựng -> New Copy Files Phase/New Run Script Giai đoạn

enter image description here

enter image description here

+0

Bạn có thể giải thích thêm về câu trả lời này không? Tôi biết làm thế nào để gọi một kịch bản nhưng không chắc chắn làm thế nào để viết kịch bản đó sao cho nó sao chép các tệp nguồn vào dự án Xcode để biên dịch. Có vẻ như rb-appscript không còn được hỗ trợ bởi Xcode nữa. Có lẽ bạn có thể giải thích về kịch bản bạn đang hình dung? –

+0

Tôi đã trải qua việc thêm các tập lệnh sau đây trước đây. , << bash "$ {BUILT_PRODUCTS_DIR}/$ {FRAMEWORKS_FOLDER_PATH} /Realm.framework/strip-frameworks.sh" >> –

+0

Kịch bản đó là để loại bỏ khuôn khổ cho khung Giới thiệu và dường như không liên quan đến câu hỏi của tôi về sao chép các tệp nguồn để biên dịch. –

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