While working with iOS 8.3, I’ve discovered an undocumented (as far as I can tell) change in auto layout that could perhaps bite you. If you construct layout constraints manually. e.g.
Under iOS 8.3, if you also link against the 8.3 SDK, NSLayoutConstraint has gotten a little pickier. If you accidentally pass in nil for the second view, and that contradicts the the attribute being specified, you’ll now get an exception. Previous OS releases appear to have quietly ignored this transgression on your code’s part.
Happily the fix on our end has been pretty simple, since it’s a branch of the code that simply shouldn’t be executing in this circumstance.
I checked and there’s no mention of this change in the 8.3 release notes, which is a shame.