2016-12-14 22 views
10

Tôi đang xây dựng một cocoapod về cơ bản chứa một khuôn khổ (các nguồn riêng) và một khung nhìn (mã nguồn mở) dựa trên khuôn khổ này, tất cả được thực hiện trong Mục tiêu-C.sử dụng 'vendored_frameworks' và 'source_files' cho cocoapod bằng 'use_frameworks!'

Trong podspec tôi có các dòng sau:.

  • spec.vendored_frameworks = 'MyPod/Framework/MyFramework.framework'
  • spec.source_files = [ 'MyPod/UI/Views/MyView { h, m} ']

Khi sử dụng cú pháp use_frameworks!, tôi không thể #import MyFramework

tôi chỉ không hiểu những gì đang xảy ra.

Hơn nữa, khi tôi xóa đường dây spec.source_files, tôi có thể #import MyFramework và hoạt động hoàn hảo, nhưng tất nhiên tôi không thể sử dụng MyView.

Tôi đang làm gì sai?

Trả lời

1

Nếu bạn sử dụng use_frameworks! chính nhóm của bạn sẽ trở thành một khuôn khổ. Do đó, bạn nên #import MyPod thay vì #import MyFramework và sau đó sử dụng MyView.

Đánh giá cũng public_header_files trong trường hợp bạn cần.

+0

Có, nhưng sau đó, làm cách nào để truy cập vào các lớp MyFrameworks? – Drico

+0

Giống như bạn đã nói, sự xuất hiện của 'MyFramework' là riêng tư. Bạn muốn truy cập nó từ bên ngoài nhóm như thế nào? Bạn nói rằng bạn chỉ muốn hiển thị 'MyView' để mở và cái này dựa vào các tiêu đề công khai từ' MyFramework'. (Bằng cách xem xét tiêu đề khung của bạn để đảm bảo bạn cho phép truy cập vào nó). – Ricowere

+0

Chỉ các nguồn của 'MyFramework' là riêng tư. Hơn nữa, tôi đã truy cập chúng mà không gặp bất kỳ rắc rối nào khi không sử dụng 'use_frameworks!' – Drico

0

Vì vỏ của dự án hiện là khung, bạn có thể thử importing it as a module sử dụng @importMyFramework.

Tuy nhiên, nếu cách đó không hiệu quả, hãy thử sao lưu dự án của bạn và sau đó chạy pod deintegrate && pod install. Ngoài ra, this question là rất giống nhau, và một số ý kiến ​​và câu trả lời của nó có thể hữu ích.

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