Xcode 8 - IB Designables - Failed to render and update auto layout status, The agent crashed

IosXcode8Xcode Storyboard

Ios Problem Overview


I recently upgraded to Xcode 8 and I am having issues with the Storyboard.

If I open the project and I don't have the Storyboard open, it will compile and run just fine. Once I open up the Storyboard, I get multiple errors about IB Designables as shown below.

enter image description here

These views are the only views that are using custom views from TextFieldEffects and BEMCheckbox that I imported using Cocoapods.

Ios Solutions


Solution 1 - Ios

You can try one of the following to figure out the cause:

  1. look for the IBDesignablesAgentCocoaTouch logs in this directory: ~/Library/Logs/DiagnosticReports and see the cause.

> Note: for user with Catalina: look for > IBDesignablesAgent-iOS_<DATE>-<MAC_NAME>.crash

  1. Go to the Editor -> Debug Selected View while selecting your @IBDesignable UIView in your storyboard, and see the stack trace.

  2. Delete Derive Data folder.

     Xcode Preference -> Location -> Derived Data
     /Users/YourMacName/Library/Developer/Xcode/DerivedData
    
  3. Clean your project Shift + Command + Alt + K.

  4. Build your project Command + B.

Solution 2 - Ios

I solved the problem by doing the following:

  1. Go to File > Workspace settings.
  2. Click the little right arrow beside "Derived data". This opens the Finder app at the location of the DerivedData folder.
  3. Go inside the DerivedData folder, and delete the folder corresponding to your project.
  4. Quit Xcode, and re-open it.
  5. Clean your project shiftcommandk.
  6. build your project commandb.
  7. Open your storyboard.
  8. Go to Editor > Refresh all views.

Updated

Sometimes just directly Go to Editor > Refresh all views worked. If Refresh all views is disabled, quit Xcode and try again.

Solution 3 - Ios

I just delete the view that is failed and press command+Z to undo deletion. It works for me.

If editing the failed view later, the error may occur again, do the above again.

Solution 4 - Ios

I faced this issue in CocoaPod 1.5.0. The solution is to reinstall pod again (pod install again) once this error showing or you may use CocoaPod 1.4.0 instead. It works fine in 1.4.0 (at least for me.)

update:

Add following script in Podfile help me solve the issue in 1.5.0

post_install do |installer|
  installer.pods_project.build_configurations.each do |config|
    config.build_settings.delete('CODE_SIGNING_ALLOWED')
    config.build_settings.delete('CODE_SIGNING_REQUIRED')
  end
end

reference: https://github.com/Skyscanner/SkyFloatingLabelTextField/issues/201#issuecomment-381915911

Solution 5 - Ios

Adding following code to my @IBDesignable class did the trick.

override init(frame: CGRect) {
    super.init(frame: frame)
}

Solution 6 - Ios

For anyone -like me- who can't find that IBDesignablesAgentCocoaTouch file or when trying to 'Debug Selected Views' from the Editor gets an error, here's another way to debug those "Failed to render" errors.

Open the 'Console' app, from the sidebar select your current Mac (it will probably be auto-selected by default) and then on the search bar search for "IBSceneUpdate" and hit enter.

This way, every time you get an Xcode error for an IBDesignable not being able to render, you will also get a new "IBSceneUpdate" entry with more details about the error.

That's at least how I was able to debug my IBDesignable errors!

Console app showing IBSceneUpdate errors

Solution 7 - Ios

If you're using xib file for custom uiview. Try this:

Change from

Bundle.main.loadNibNamed("UserView", owner: self, options: nil)

To:

let bundle = Bundle(for: UserView.self) 
bundle.loadNibNamed("UserView", owner: self, options: nil)

Solution 8 - Ios

Try to disable 'Use Trait Variations' (Identity and Type panel) for any xib file that you might have for custom views that are used in your storyboard.

Solution 9 - Ios

my problem was solved by deleting folders (which is related to this project) from derived data folder. you can do this by clicking File -> Project Setting -> then click the arrow sign deside /Users/.../Xcode/DerivedData click DerivedData folder you will see your project named folders delete those . quit xcode the open your project , clean the project by using this step Product->clean then build the project : Product->Build These will resolve this problems .

Solution 10 - Ios

Correct answer provided by @Maria:

> check crash report at ~/Library/Logs/DiagnosticReports

Alternative way:

  1. open Spotlight

enter image description here

  1. type console.app

enter image description here

  1. select Crash reports

enter image description here

  1. check one for IBDesignablesAgent-iOS and review crash log

Solution 11 - Ios

I tried clean and run the project won't solve this issue.

But Close and reopened the project did.

Solution 12 - Ios

Just open your storyboard -> Editor -> Refresh all views. This work for me.

Solution 13 - Ios

When i debugged this i found out there are some classes which are modifying UI. Typically marquelabel which is a subclass of UILabel or any other class subclassing UIView and drawing ui at run time and colliding with Autolayout engine. Try giving fixed width or height for these custom views. If it doesn't solve your problem try Following solutions:-

Solution 1: - Uncomment #use_frameworks inside your pod file.

Solution 2: - Try deleting derived data

  1. Close Editor window of your Xcode and quit simulator ->
  2. Go to Xcode Preferences -> Locations ->
  3. Click small grey arrow showing derived data path ->
  4. Select your project ->
  5. Delete all the folders inside ->
  6. Quit Xcode and reopen

Solution 14 - Ios

I had the same issue and came here to try and figure out what happened. I noticed the top rated answer and the answer itself didn't help me, as IBDesignable didn't exist in the log folder and I already attempted all other options there, however in the comments I noticed someone talking about a frame init.

I decided to try commenting out my IBDesignable extension for UIView and it instantly fixed the problem. So, to fix this, find the extension causing the issue and make sure to set up the required inits by creating an IBDesignable class and providing the required initializers as follows:

@IBDesignable class RoundedView: UIView {

override init(frame: CGRect) {
    super.init(frame: frame)
    sharedInit()
}

required init?(coder aDecoder: NSCoder) {
    super.init(coder: aDecoder)
    sharedInit()
}

override func prepareForInterfaceBuilder() {
    super.prepareForInterfaceBuilder()
    sharedInit()
}

func sharedInit() {
}
}

IMPORTANT: remember to add the new class to the item you are using the designable on.

Solution 15 - Ios

In my @IBDesignable class crashed because I used the custom class for the color and forced unwrapped the colours propertied that's @IBDesignable class found nil while unwrap

So you need to find the IBDesignablesAgent-iOS_[Date]_[YourMac].crash on ~/Library/Logs/DiagnosticReports this location and you will get the reason of the crash with the respected file path.

Now you have to check the respected file.

Solution 16 - Ios

Faced same Error: Had customised UITextField and using interface builder, the error in console was -Use of unimplemented initializer 'init(frame:)' for class "CustomField"

Added the initialiser to fix the error

Solution 17 - Ios

I faced this problem after update to latest XCode version .After trying multiple solution described above ,i only quite Xcode and then shut down system and turn it on and that worked for me .

Solution 18 - Ios

After you make the necessary changes, change the storyboard or in my case a .xib to open in "XCode 7", save and close. This is just a stop gap measure to address the errors but ultimately you will need to fix them or do this until you are no longer able to.

Solution 19 - Ios

In my case, I was using a library which was subclassing UIView. It was using IB_DESIGNABLE, and was missing call to [super awakeFromNib]. Once I've added the call to this method, the bug went away.

I'm not sure if the fact that it was implementing IB_DESIGNABLE had an impact in this.

Solution 20 - Ios

This is the easiest way for me: add this script to your Podfile

Podfile:

post_install do |installer|
  installer.pods_project.targets.each do |target|
    next if target.product_type == "com.apple.product-type.bundle"
    target.build_configurations.each do |config|
      config.build_settings['CONFIGURATION_BUILD_DIR'] = '$PODS_CONFIGURATION_BUILD_DIR'
    end
  end
end

Source:

This workaround for @IBDesignable can be found here: https://github.com/CocoaPods/CocoaPods/issues/5334

Solution 21 - Ios

In my case, I face this problem because I was using a class that generate that error, just stop using that and the problem was solve!. This was the class I was using, I changed for UIView and then the error dissapered

enter image description here

Solution 22 - Ios

For me it was due to incorrect Font Name in Storyboard. Correcting font name fixed the issue.

Discarding the below change fixed the issue. InCorrectFont

Solution 23 - Ios

My first try exit Xcode and relaunch helped. So it is some easy quick-fix instead of some work ,-)

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionAlanView Question on Stackoverflow
Solution 1 - IosMariaView Answer on Stackoverflow
Solution 2 - IosaxumnemonicView Answer on Stackoverflow
Solution 3 - IosyancaicoView Answer on Stackoverflow
Solution 4 - IosJerome LiView Answer on Stackoverflow
Solution 5 - IosMohammad Zaid PathanView Answer on Stackoverflow
Solution 6 - IosStelabourasView Answer on Stackoverflow
Solution 7 - IosHoàng Công TùngView Answer on Stackoverflow
Solution 8 - IosLatinCoderView Answer on Stackoverflow
Solution 9 - IosMitu VinciView Answer on Stackoverflow
Solution 10 - IoshbkView Answer on Stackoverflow
Solution 11 - IosLal KrishnaView Answer on Stackoverflow
Solution 12 - IosAnggara SiswanajayaView Answer on Stackoverflow
Solution 13 - IosAshish PiseyView Answer on Stackoverflow
Solution 14 - IosNoxView Answer on Stackoverflow
Solution 15 - IosTak RahulView Answer on Stackoverflow
Solution 16 - IosAvinashView Answer on Stackoverflow
Solution 17 - IosMehsam SaeedView Answer on Stackoverflow
Solution 18 - IosAlberto LopezView Answer on Stackoverflow
Solution 19 - IosAnthoPakView Answer on Stackoverflow
Solution 20 - IosNFerociousView Answer on Stackoverflow
Solution 21 - IosDiego SalcedoView Answer on Stackoverflow
Solution 22 - IosSaifView Answer on Stackoverflow
Solution 23 - IosKarstenView Answer on Stackoverflow