Using the latest Apptentive framework, when trying to show an upgrade message and only on iPhone 5S/64-bit, I get:
Unable to simultaneously satisfy constraints.
Probably at least one of the constraints in the following list is one you don't want. Try this: (1) look at each constraint and try to figure out which you don't expect; (2) find the code that added the unwanted constraint or constraints and fix it. (Note: If you're seeing NSAutoresizingMaskLayoutConstraints that you don't understand, refer to the documentation for the UIView property translatesAutoresizingMaskIntoConstraints)
(
"<NSLayoutConstraint:0x10b76f500 V:[UIView:0x10b73aee0]-(>=30)-| (Names: '|':UIView:0x10b777c30 )>",
"<NSLayoutConstraint:0x10b76bcb0 V:[UIView:0x10b73aee0]-(7)-[UIView:0x10b77a6e0]>",
"<NSLayoutConstraint:0x10b76bda0 V:[UIView:0x10b77a6e0]-(0)-| (Names: '|':UIView:0x10b777c30 )>",
"<NSLayoutConstraint:0x10b77bbd0 V:[UIView:0x10b77a6e0(0)]>"
)
Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x10b77bbd0 V:[UIView:0x10b77a6e0(0)]>
Break on objc_exception_throw to catch this in the debugger.
The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKit/UIView.h> may also be helpful.
Additionally, I'm not using auto-layouts in my project and I've disabled the "poweredByBackground", so it's pointing at the following code (in file ATInteractionUpgradeMessageViewController.m on line 81 and onwards):
} else {
NSLayoutConstraint *constraint = [NSLayoutConstraint constraintWithItem:self.poweredByBackground attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual toItem:nil attribute:NSLayoutAttributeNotAnAttribute multiplier:1 constant:0];
[self.poweredByBackground addConstraint:constraint];
self.poweredByBackground.hidden = YES;
}
[self.poweredByBackground addConstraint:constraint];