What is causing the problem with the app and how should I approach the solution?
I have taken over the development of a video viewing application that runs on tvOS.
Recently, a user reported that he could not play videos on tvOS 16.
I built the application in xcode and tried to play the video on tvOS 16.4 in simulator. Then a symbol similar to 🚫 appeared on the video player and the video could not be played.
- UIKit and TVML Kit JS are used in the source code.
- Video source is HLS with H.264 codec
- When playback failed, Xcode displayed the following error message.
023-05-26 12:59:58.477905+0900 hoge_tvOS[35421:14197398] [LayoutConstraints] 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.
(
"<NSLayoutConstraint:0x6000007080a0 H:|-(95)-[UIStackView:0x155247910] (active, names: '|':UIView:0x155247770 )>",
"<NSLayoutConstraint:0x6000007082d0 UIStackView:0x155247910.trailing == UIView:0x155247770.trailing - 95 (active)>",
"<NSLayoutConstraint:0x6000007f38e0 H:|-(0)-[UIView:0x155247770] (active, names: '|':_AVFocusContainerView:0x151d431f0 )>",
"<NSLayoutConstraint:0x6000007f3930 UIView:0x155247770.trailing == _AVFocusContainerView:0x151d431f0.trailing (active)>",
"<NSLayoutConstraint:0x60000070b1b0 '_UITemporaryLayoutWidth' _AVFocusContainerView:0x151d431f0.width == 0 (active)>"
)
Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x6000007082d0 UIStackView:0x155247910.trailing == UIView:0x155247770.trailing - 95 (active)>
Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger.
The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKitCore/UIView.h> may also be helpful.
I have confirmed in the past that it can be played on tvOS 14.
Thanks for reading.