Tôi có dự án XCode (A
) tham chiếu một dự án khác (B
). Theo mặc định (theo như tôi hiểu) XCode sẽ ngầm xây dựng cấu hình cho phụ thuộc B
phù hợp với cấu hình của mục tiêu A
(ví dụ: "Gỡ lỗi"). Nhưng nếu tôi muốn, giả sử, A
để xây dựng là "Gỡ lỗi" và B
để xây dựng là "Bản phát hành"? Làm thế nào tôi sẽ đi về xác định rằng trong XCode?Chỉ định Cấu hình của tiểu dự án trong XCode
Trả lời
Tôi không biết về bất kỳ cách tiếp cận dễ dàng nào, nhưng bạn có thể sử dụng xcodebuild trực tiếp cho sự phụ thuộc với giai đoạn xây dựng "Chạy tập lệnh".
Tôi biết đó chỉ là một ví dụ, nhưng nếu mục tiêu thực sự của bạn là tiểu dự án là bản phát hành (không có biểu tượng), thì bạn có thể có trải nghiệm tốt hơn bằng cách chỉ xây dựng tiểu dự án vào thư viện hoặc và kiểm tra kết quả nhị phân vào hệ thống kiểm soát phiên bản của bạn. Bất cứ khi nào tôi có một phần của hệ thống hiếm khi thay đổi và tôi không muốn các biểu tượng gỡ lỗi, tôi tiếp tục và xây dựng nó như một thư viện tĩnh và kiểm tra nó. Tôi thường đi trước và di chuyển mã ở nơi khác (với một tệp README với .a cho biết mã ở đâu và cách mã được tạo). Điều này tiết kiệm thời gian cho cả việc xây dựng và kiểm tra và là vô giá đối với các dự án lớn trong kinh nghiệm của tôi.
Có, điều này không được hỗ trợ bởi Xcode; khi bạn xây dựng một mục tiêu, nó xây dựng một cấu hình của chính nó và của tất cả các mục tiêu phụ thuộc.
Cách giải quyết, như Rob đã đề cập, là có mục tiêu phụ thuộc là loại Mục tiêu tổng hợp bao gồm một giai đoạn xây dựng Script đơn giản, đơn giản gọi ra bản phát hành cấu hình xcodebuild (hoặc bất kỳ thứ gì).
Điều này có thể giúp: nếu cấu hình của dự án A
không được tìm thấy, Xcode sẽ xây dựng cấu hình Release
làm dự phòng (hoặc có thể cấu hình đầu tiên của danh sách).
Sau đó, bạn có thể "buộc" vào liên kết sử dụng mẹo này: Xcode custom build configuration causes "library/file not found" for static libraries
Vâng, một mẹo có giá trị - cảm ơn! – fbrereto