从pod依赖项中使用IB_DESIGNABLE实时渲染自定义组件

时间:2014-10-25 21:53:39

标签: ios objective-c xcode6 ibdesignable

我在pod中使用IB_DESIGNABLE时遇到了一些困难。

我创建了一个自定义视图,我将其标记为IB_DESIGNABLE并创建了一个使用它的示例项目。到目前为止没问题。

将自定义视图添加为pod依赖项时会出现此问题。虽然项目已成功构建和运行,但在打开使用自定义视图的故事板时会出现错误。实时渲染过程启动并尝试在“界面”构建器中显示实时视图但它失败并显示以下错误:

enter image description here

这太糟糕了,因为我们失去了实时渲染,在我看来,这是Xcode 6的最佳功能之一。

  • Cocoapods宝石版: 0.34.4
  • Xcode版本: 6.1(6A1052d)

我尝试过使用IB_DESIGNABLE并拥有podspec的其他项目:

  1. https://github.com/Eddpt/EAColourfulProgressView(上课:EAColourfulProgressView
  2. https://github.com/hayashi311/HRButton(上课:HRButton
  3. https://github.com/Estimote/iOS-Indoor-SDK(上课:ESTIndoorLocationView
  4. 其他人在Estimote - Indoor Location Error中遇到了同样的问题,但所描述的解决方案意味着失去了实时渲染功能。

    是否有人能通过Cocoapods使用IB_DESIGNABLE组件?

    错误:“无法从路径加载可设计项(null)”

3 个答案:

答案 0 :(得分:19)

已在Cocoapods (0.36.0.beta.1)的最新版本中修复此问题。

安装此版本:

[sudo] gem install cocoapods --pre

有关使用框架here

的Cocoapods的更多信息

要修复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

use_frameworks!添加到Podfile

答案 1 :(得分:0)

在Identity Inspector中指定自定义类时,是否指定应从哪个模块加载此类?该模块应该是该类来自的库的名称。

答案 2 :(得分:0)

我在第一行的PodFile上使用use_frameworks!解决了我的问题。 (不要忘记!

IBInspectable属性必须是动态的,因此它要求动态链接库。通过使用上面的行,一旦你设置了一个控件的类,它就会构建框架并链接它,解决这个绑定问题。当我升级到测试版时,Parse停止了工作。

希望它有所帮助。