Archive for November, 2014

Xamarin: Creating an out of band arbitration unit with a view in method ibArbitrationUnitWasCreatedWithReceiverAsRootUnderParent

Got the following error today;

2014-11-05 17:03:22.021 ibtoold[42372:2247069] [MT] DVTAssertions: ASSERTION FAILURE in /SourceCache/IDEInterfaceBuilder/IDEInterfaceBuilder-6250/InterfaceBuilderKit/WidgetIntegration/View/IBViewIntegration.m:3076
Details:  Creating an out of band arbitration unit with a view () as the root under another view () is not yet implemented. The view would need to be in two arbitration units, the one above for positioning constraints, and the root of the one below for sizing constraints. But then that means that subviews cannot have constraints that affect the size of the view, so the view must have ibExternalTranslatesAutoresizingMaskIntoConstraints set to YES.
Object:  
Method:   -ibArbitrationUnitWasCreatedWithReceiverAsRootUnderParent:
Thread:   {number = 1, name = main}
Hints: None
Backtrace:

A simple workaround is;

  • open the file in vim
  • :.,$s/translatesAutoresizingMaskIntoConstraints=”NO”/translatesAutoresizingMaskIntoConstraints=”YES”/g
A fix would be to just not use Xamarin their interface builder tool. If you insist on using one, just use the Xcode version. Or not use one as all as I would recommend.