Search code examples
iosobjective-cxcode6ibdesignable

Live Rendering a custom component using IB_DESIGNABLE from a pod dependency


I'm having some difficulty using IB_DESIGNABLE in a pod.

I created a custom view which I marked as IB_DESIGNABLE and made a sample project that uses it. No problems so far.

The issue happens when adding that custom view as a pod dependency. Although the project builds and runs successfully, there is an error when the storyboard that uses the custom view is opened. The Live Rendering process starts and tries to show the view live inside Interface builder but it fails with the following error:

enter image description here

This is too bad because we lose Live Rendering which is, in my opinion, one of the best features from Xcode 6.

  • Cocoapods gem version: 0.34.4
  • Xcode version: 6.1 (6A1052d)

I've tried with other projects that use IB_DESIGNABLE and have a 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)

Someone else had the same issue in Estimote - Indoor Location Error but the solution described means losing Live Rendering capabilities.

Has anyone been able to use a IB_DESIGNABLE component through Cocoapods?

Error: "failed to load designables from path (null)"


Solution

  • This has been fixed in the latest version of Cocoapods (0.36.0.beta.1).

    To install this version:

    [sudo] gem install cocoapods --pre

    More information about Cocoapods with frameworks here

    In order to fix the 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
    

    Add use_frameworks! to you Podfile.