2014-10-25 14 views
21

Tôi đang gặp một số khó khăn khi sử dụng IB_DESIGNABLE trong nhóm.Trực tiếp Hiển thị thành phần tùy chỉnh bằng cách sử dụng IB_DESIGNABLE từ sự phụ thuộc của nhóm

Tôi đã tạo chế độ xem tùy chỉnh mà tôi đã đánh dấu là IB_DESIGNABLE và đã tạo một dự án mẫu sử dụng nó. Không có vấn đề cho đến nay.

Sự cố xảy ra khi thêm chế độ xem tùy chỉnh đó làm phụ thuộc nhóm. Mặc dù dự án xây dựng và chạy thành công, có lỗi khi bảng phân cảnh sử dụng chế độ xem tùy chỉnh được mở. Quá trình Rendering sống bắt đầu và cố gắng thể hiện quan điểm sống bên trong giao diện người xây dựng nhưng nó không thành công với các lỗi sau:

enter image description here

Đây là quá xấu, vì chúng ta mất đi Rendering Live mà là, theo ý kiến ​​của tôi, một trong những các tính năng tốt nhất từ ​​Xcode 6.

  • Cocoapods ngọc phiên bản: 0.34.4
  • Xcode phiên bản: 6.1 (6A1052d)
  • 012.

Tôi đã thử với các dự án khác sử dụng IB_DESIGNABLE và có một podspec:

  1. https://github.com/Eddpt/EAColourfulProgressView (Class: EAColourfulProgressView)
  2. https://github.com/hayashi311/HRButton (Class: HRButton)
  3. https://github.com/Estimote/iOS-Indoor-SDK (Class: ESTIndoorLocationView)

Someon e else có cùng một vấn đề trong Estimote - Indoor Location Error nhưng giải pháp được mô tả có nghĩa là mất khả năng Hiển thị trực tiếp.

Có ai có thể sử dụng thành phần IB_DESIGNABLE thông qua Cocoapod không?

Lỗi: "không thể tải designables từ đường dẫn (null)"

+0

Tôi gặp vấn đề tương tự khi lớp học có IB_DESIGNABLE nằm trong dự án phụ thuộc (ví dụ: dự án khung) – Neovov

+1

Tôi cũng gặp vấn đề tương tự. Nếu "MyCustomView" nằm trong dự án của tôi, nó hoạt động rất tốt, nhưng nếu lớp này nằm trong dự án Pods thì nó không hoạt động nữa. Tôi nhận được cùng một lỗi: "không thể tải thiết kế từ đường dẫn (null)" (Tôi đang viết nó ở đây để tìm chủ đề này dễ dàng hơn trên Google!). – QLag

+0

Bất kỳ cơ hội nào để nhập các lớp có thể thiết kế trong khuôn khổ trong dự án chính sẽ khắc phục được nó? Hãy thử điều đó và báo cáo lại. –

Trả lời

19

Điều này đã được sửa trong phiên bản Cocoapods (0.36.0.beta.1) mới nhất.

Để cài đặt phiên bản này:

[sudo] gem install cocoapods --pre

Thông tin thêm về Cocoapods với khung here

Để sửa chữa các Error: "failed to load designables from path (null)":

platform :ios, '7.0' 

use_frameworks! 

target 'test' do 
pod 'EAColourfulProgressView', '~> 0.1.0' 
end 

target 'testTests' do 

end 

Thêm use_frameworks! cho bạn Podfile.

+3

Điều này sẽ không hoạt động đối với iOS7 – k06a

+0

Có, rất tiếc, đó là chính xác. Khung động chỉ có sẵn trong iOS 8 và dường như không có cách nào để làm cho công việc 'IB_DESIGNABLE' hoạt động với các thư viện tĩnh. Bạn có thể kéo và thả các tệp nguồn cho sự phụ thuộc trong câu hỏi thay vì sử dụng cocoapod, nếu bạn thực sự muốn 'IB_DESIGNABLE' làm việc – Edgar

+0

Hy vọng lỗi khủng khiếp này sẽ được sửa trong Xcode 7 :) – k06a

0

Khi xác định lớp tùy chỉnh của bạn trong Identity Inspector, bạn đang xác định từ đó mô-đun lớp này nên được nạp? Module phải là tên của thư viện mà lớp đó xuất phát.

+1

Các mô-đun chỉ cần được chỉ định nếu bạn đang sử dụng Swift, không phải với Objective-C. Dự án mẫu của tôi sử dụng Objective-C. – Edgar

+1

Thư viện của bạn cũng có các thư viện trên các khung công tác khác cần được định vị qua @rpath không? Nếu đúng như vậy, bạn sẽ thấy các nhật ký hệ thống trong Bảng điều khiển hiển thị lỗi xảy ra khi giải quyết các phụ thuộc. – Dalzhim

0

Tôi đã giải quyết sự cố của mình bằng cách sử dụng use_frameworks! trên PodFile, trong Dòng đầu tiên. (đừng quên số !)

Thuộc tính IBInspectable phải là Động, vì vậy nó yêu cầu liên kết động của Thư viện. Bằng cách sử dụng dòng trên, ngay sau khi bạn thiết lập lớp kiểm soát, nó sẽ xây dựng khung công tác và liên kết nó, giải quyết các vấn đề ràng buộc này. Khi tôi nâng cấp lên phiên bản beta, Parse ngừng hoạt động.

Hy vọng nó sẽ giúp ai đó.

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