Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IBDesignables issue wich prevents to show storyboard preview. #10

Open
wqfan opened this issue Oct 27, 2017 · 34 comments
Open

IBDesignables issue wich prevents to show storyboard preview. #10

wqfan opened this issue Oct 27, 2017 · 34 comments

Comments

@wqfan
Copy link

wqfan commented Oct 27, 2017

Hello, thanks for the awesome framework!

I just tried the Getting Started example. After dragging the Card into the ViewController and adding an @IBOutlet. I got an error that "Use of undeclared type 'CardHightlight'".

I installed the framework using Cocoapods. I'm new to iOS dev and I probably miss some stuff. Could you explain a bit why does this happen?

Thanks!

@PaoloCuscela
Copy link
Owner

Thank you very much :D
Try to check the attribute inspector and make sure the "module" field is set to Cards

@wqfan
Copy link
Author

wqfan commented Oct 27, 2017

Thanks for the quick response!

It's set to "Cards", but I still got this error.

screen shot 2017-10-27 at 7 37 56 am

@PaoloCuscela
Copy link
Owner

Got it.
You have to do "import Cards" in the top of the file. I'll add this to the readme.
Thank you :)

@wqfan
Copy link
Author

wqfan commented Oct 27, 2017

I also tried that. But there is an error "Cannot load underlying module for 'Cards'".

@wqfan
Copy link
Author

wqfan commented Oct 27, 2017

I cleaned the project and then rebuild it. "Cannot load underlying module for 'Cards'" disappears, but I still have the "Use of undeclared type 'CardHightlight'" error.

screen shot 2017-10-27 at 7 58 38 am

@wqfan
Copy link
Author

wqfan commented Oct 27, 2017

Hello @PaoloCuscela, sorry for the random messages.

I just found I installed Cards 1.1 instead of the newest 1.2.3. After upgrading to the 1.2.3, the undeclared problem disappears but I got this error:

IB Designables: Failed to render and update auto layout status for ViewController (BYZ-38-t0r): dlopen(Cards.framework, 1): Library not loaded: @rpath/Player.framework/Player
Referenced from: Cards.framework
Reason: image not found

screen shot 2017-10-27 at 8 14 09 am

@PaoloCuscela
Copy link
Owner

Looks strange. I've done a test right now and all seems to work well.
Try this:
New xcode project
Pod init
Add "pod 'Cards'"
Pod install
Pod update
Open 'project.workspace'
Add UIView in storyboard
Class 'CardHighlight'
Module 'Cards'

@wqfan
Copy link
Author

wqfan commented Oct 27, 2017

Still got the same IB Designables issue. I'm working on Xcode Version 9.0.1 (9A1004). Probably an issue with my Xcode?

screen shot 2017-10-27 at 10 00 03 am

@PaoloCuscela
Copy link
Owner

Can you post your sample project so I can have a look ?

@wqfan
Copy link
Author

wqfan commented Oct 27, 2017

Sure! Thank you very much for your help!
project.zip

@PaoloCuscela
Copy link
Owner

schermata 2017-10-27 alle 17 18 06

It's working fine here. I'm on 9.0.1 too ... 🤔
Maybe reinstalling XCode ?

@wqfan
Copy link
Author

wqfan commented Oct 27, 2017

Thank you @PaoloCuscela. Sorry I forget to tell you that I'm able to build the project now, though it has a storyboard error. Before, when I'm using Cards 1.1, the prototype of a card can appear on the storyboard, but currently it can't show up, so I think it's that error causes the UI to fail to display.

Also I tried reinstalling Xcode. The error is still here...

@PaoloCuscela
Copy link
Owner

I googled about it yesterday. It turned out that is a common issue, probably about some optional vars stopping IBDesignables to be rendered.
I'll try to fix that in these days

@wqfan
Copy link
Author

wqfan commented Oct 28, 2017

Thanks for your efforts!

@PaoloCuscela
Copy link
Owner

Good news :D
v1.2.4 out.
Now it should display the preview on the storyboard correctly.

@wqfan
Copy link
Author

wqfan commented Oct 30, 2017

Sorry @PaoloCuscela I missed your last comment. I just upgraded it to 1.2.4 and the preview is still blank. Probably it's a weird problem happened on my macOS only. Thanks very much for your help!

@PaoloCuscela PaoloCuscela reopened this Oct 30, 2017
@PaoloCuscela
Copy link
Owner

Already tried with Editor -> Refresh all views ?

@wqfan
Copy link
Author

wqfan commented Oct 30, 2017

Yes. And the storyboard error is still here:

Designables: Failed to render and update auto layout status for ViewController (BYZ-38-t0r): dlopen(Cards.framework, 1): Library not loaded: @rpath/Player.framework/Player
  Referenced from: Cards.framework
  Reason: image not found

@PaoloCuscela
Copy link
Owner

Do you get this error only with my repo ?

@wqfan
Copy link
Author

wqfan commented Oct 31, 2017

Yes. And I find it works fine on your Demo project. I'm very confused why the error happens on my projects.

@wqfan
Copy link
Author

wqfan commented Oct 31, 2017

Hello @PaoloCuscela, I upgraded the Xcode to the newest 9.1. The storyboard error disappeared but I still can't see the preview.

screen shot 2017-10-31 at 3 25 03 pm

@FranciscoPereira
Copy link

I'm having the same error too but in my case I'm trying to use it on a UICollectionViewCell by adding a subview with Card class type.

@PaoloCuscela
Copy link
Owner

I've done some testing.
Looks really strange, with the sdk installed from cocoapods repo preview are not rendered.
With a local copy ( pod 'Cards', :path => '../' ) it's all fine.
I've to do some research on it.

@AshleyDeng
Copy link

We have the same issue as @wqfan reported. There is an error on Storyboard saying

IB Designables: Failed to render and update auto layout status for EventsTableViewController (ZmE-MU-FrL): dlopen(Cards.framework, 1): Library not loaded: @rpath/Player.framework/Player Referenced from: Cards.framework Reason: image not found

The UI was not able to be rendered on Storyboard neither.

Me and my guy are on Cards 1.3.0 and XCode 9.1 and 9.2

@PaoloCuscela
Copy link
Owner

I found a workaround that might work, try adding this in your podfile.
CocoaPods/CocoaPods#5334 (comment)

@avjiang
Copy link

avjiang commented Jan 16, 2018

Hi, just found out this library and i face the same issue as stated above, failed to render IB designable error. is there any update for this issue? I am using Xcode 9.2

Thanks!

@MhndMousa
Copy link

I had the same error trying to use cocoapods, I worked around it by adding the library manually.

@qin-guan
Copy link

i assume its a cocoapods error since the same problem doesnt come up when adding the library manually...

@PaoloCuscela PaoloCuscela changed the title Use of undeclared type 'CardHightlight' when implementing the Getting Started example IBDesignables issue wich prevents to show storyboard preview. May 3, 2018
@dannylnz
Copy link

dannylnz commented May 4, 2018

Hi, any update on this bug?
does anyone found a workaround for this?
Thanks 👍

@lukaskirner
Copy link

I still get this bug in 1.3.2. With pod I get the IBDesignables error and if I install it manually it wont find the Cards module.
Is there no fix out there for any of these problems?

@qin-guan
Copy link

This issue is not because of the Cards its due to the latest Cocoapods version to fix it just downgrade your cp to about 1.4< and it shouldnt show the error anymore

@lukaskirner if you install it manually from what i know you wouldnt need to import Cards like its already imported somehow

@lukaskirner
Copy link

@QinGuan2004 suggested to downgrade Cocoapods which didn't completly removed the problem but after I added this little code to the Podfile it workes.

post_install do |installer|
  installer.pods_project.build_configurations.each do |config|
    config.build_settings['LD_RUNPATH_SEARCH_PATHS'] = [
      '$(FRAMEWORK_SEARCH_PATHS)'
    ]
  end
end

@michaelcarroll
Copy link

michaelcarroll commented Aug 29, 2018

I had this same issue and fixed it by adding a signature fix and the code @lukaskirner mentioned above.

Here is what my pod file looks like:

# Uncomment the next line to define a global platform for your project
# platform :ios, '11.0'

target 'CardTest' do
  # Comment the next line if you're not using Swift and don't want to use dynamic frameworks
  use_frameworks!

  # Pods for CardTest
	pod 'Cards'

post_install do |installer|
  installer.pods_project.build_configurations.each do |config|
    config.build_settings['LD_RUNPATH_SEARCH_PATHS'] = [
      '$(FRAMEWORK_SEARCH_PATHS)'
    ]
    installer.pods_project.build_configurations.each do |config|
        config.build_settings.delete('CODE_SIGNING_ALLOWED')
        config.build_settings.delete('CODE_SIGNING_REQUIRED')
   end
end
end
end

@jctaoo
Copy link

jctaoo commented Jan 30, 2020

It works for me.
xcode: 11.3
macOS: 10.15
CocoaPods: 1.8.1

@QinGuan2004 suggested to downgrade Cocoapods which didn't completly removed the problem but after I added this little code to the Podfile it workes.

post_install do |installer|
  installer.pods_project.build_configurations.each do |config|
    config.build_settings['LD_RUNPATH_SEARCH_PATHS'] = [
      '$(FRAMEWORK_SEARCH_PATHS)'
    ]
  end
end

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests