2012-04-22 30 views
10

Tôi đang sử dụng Xcode 4.3 để tạo khuôn khổ cho OS X. Tôi đã tạo không gian làm việc và dự án (với mục tiêu khung) để đi vào không gian làm việc này.Phụ thuộc mục tiêu giữa hai dự án trong cùng một không gian làm việc

Bây giờ, tôi muốn bao gồm liên kết & với khung bên thứ ba mà tôi cũng đã thêm vào cùng không gian làm việc (nhưng không phải trong dự án của tôi). Tôi đã nhấp vào nút + trong "Liên kết nhị phân với thư viện" giai đoạn xây dựng và khuôn khổ của bên thứ ba chỉ xuất hiện trong danh sách các thư viện có sẵn.

Khung được liên kết hiển thị màu đỏ trong trình điều hướng Dự án, vì thư viện của bên thứ ba chưa được xây dựng (mặc dù, dự án của tôi xây dựng thành công - mặc dù tôi chưa cố gắng sử dụng khung bên):

tôi sẽ giải quyết điều này bằng cách thêm nó như là một phụ thuộc target, nhưng khi tôi bấm + trên "target Dependencies" xây dựng giai đoạn, mục tiêu của bên thứ ba doesn' t hiển thị trong danh sách.

Tôi nên định cấu hình đúng cách/giải quyết sự phụ thuộc này như thế nào? Ngoài ra, tôi có cần tạo một giai đoạn xây dựng Sao chép tệp để đảm bảo khung được sao chép vào thư mục Khung của mục tiêu của tôi không? Làm thế nào tôi có thể thiết lập nó đúng cách?

+0

Tôi nghĩ Xcode sẽ tự động tạo nó làm phụ thuộc kể từ khi bạn liên kết với nó. Nó có thể không hiển thị vì điều này. Khung có thể là màu đỏ vì nó sẽ chỉ phát hiện tệp cho cấu hình phát hành. – ughoavgfhw

+0

@ughoavgfhw Có, tôi nghĩ rằng tôi đọc rằng nó có thể tự động phát hiện và xây dựng các phụ thuộc trong không gian làm việc. Nhưng tại sao bạn nói nó sẽ chỉ phát hiện các tập tin trong cấu hình phát hành? (Tôi vừa thử Product> Build For> Archive, và nó vẫn còn màu đỏ.) Và bạn có nghĩ rằng tôi cần phải thiết lập rõ ràng một giai đoạn Copy Files không? – jtbandes

+0

Lần cuối cùng tôi nhìn, các tham chiếu đầu ra sử dụng đường dẫn của bản phát hành. Ngoài ra nếu bạn đã thêm một dự án trước đó vào một không gian làm việc mới, tham chiếu có thể tham chiếu đến một vị trí xây dựng khác, do đó sẽ không hoạt động. Nếu bạn muốn đóng gói khung bên trong ứng dụng của mình, bạn cần thiết lập một giai đoạn sao chép tệp. – ughoavgfhw

Trả lời

10

Tôi đã chạy vào nội dung tương tự nhưng có lib tĩnh.

  • Hãy làm những gì bạn đã làm để xây dựng khuôn khổ, xây dựng ứng dụng của bạn (ngay cả khi nó không thành công, khuôn khổ nên xây dựng)
  • Tháo tham chiếu đến khuôn khổ trong liên kết xây dựng giai đoạn mục tiêu ứng dụng của bạn
  • Xác định vị trí khung được xây dựng trong Trình tìm kiếm (khung được xây dựng bởi không gian làm việc của ứng dụng của bạn).
  • kéo/thả vào dự án ứng dụng sử dụng nó. Lưu ý rằng lần này nó xuất hiện với màu đen (không phải màu đỏ)
  • nhấp vào nó và đảm bảo thanh tra Xcode hiển thị "liên quan đến sản phẩm được xây dựng" (bạn có thể cần thay đổi loại tham chiếu) và đường dẫn chỉ là myframework.framework.
  • kiểm tra xem nó đã được thêm vào giai đoạn liên kết ứng dụng hay không (cần)
  • đó là phiên bản bạn có thể sử dụng trong giai đoạn sao chép/xây dựng.
+0

Đối với người đọc trong tương lai: giải pháp này đến từ [chủ đề diễn đàn dành cho nhà phát triển này] (https://devforums.apple.com/thread/148935) nơi bạn có thể tìm thêm thảo luận. – jtbandes

+4

Thêm '$ (BUILT_PRODUCTS_DIR)' vào Khung/Đường dẫn Tìm kiếm Thư viện có thể hữu ích. – superlukas

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