刚刚更新到Xcode 7和iOS 9 SDK,发现在UIWebview中播放HTML 5视频时出现问题。代码非常简单,只需在UIWebview中加载HTML代码并播放即可。 HTML代码包括用于播放捆绑中的视频文件的标签。在iPhone上测试时,视频可以在全屏模式下正常播放(默认情况下),但Xcode控制台会显示一长串错误消息:
UIWebviewVideoTest [22503:904174]无法同时满足约束。 可能至少以下列表中的一个约束是您不想要的约束。试试这个:(1)看看每个约束,并试着找出你不期望的东西; (2)找到添加了不需要的约束或约束的代码并修复它。 (注意:如果您正在查看您不了解的NSAutoresizingMaskLayoutConstraints,请参阅UIView属性的文档translatesAutoresizingMaskIntoConstraints)
(
"<NSAutoresizingMaskLayoutConstraint:0x7f8df9da8ed0 h=-&- v=-&- _UIBackdropContentView:0x7f8dfc034370.width == _UIBackdropView:0x7f8df9c4ec70.width>",
"<NSLayoutConstraint:0x7f8df9d974e0 H:|-(14)-[UILabel:0x7f8df9c45b40'Slide your finger down to...'] (Names: '|':_UIBackdropContentView:0x7f8dfc034370 )>",
"<NSLayoutConstraint:0x7f8df9d96900 H:[UILabel:0x7f8df9c45b40'Slide your finger down to...']-(14)-| (Names: '|':_UIBackdropContentView:0x7f8dfc034370 )>",
"<NSLayoutConstraint:0x7f8df9d835c0 H:|-(0)-[_UIBackdropView:0x7f8df9c4ec70] (Names: '|':UIView:0x7f8df9c52bf0 )>",
"<NSLayoutConstraint:0x7f8df9d83610 H:[_UIBackdropView:0x7f8df9c4ec70]-(0)-| (Names: '|':UIView:0x7f8df9c52bf0 )>",
"<NSLayoutConstraint:0x7f8df9d83910 H:|-(0)-[UIView:0x7f8df9c52bf0] (Names: '|':AVAlphaUpdatingView:0x7f8df9c44190 )>",
"<NSLayoutConstraint:0x7f8df9d83960 H:[UIView:0x7f8df9c52bf0]-(0)-| (Names: '|':AVAlphaUpdatingView:0x7f8df9c44190 )>",
"<NSLayoutConstraint:0x7f8df9daf950 'UIView-Encapsulated-Layout-Width' H:[AVAlphaUpdatingView:0x7f8df9c44190(0)]>"
)
将通过违反约束来尝试恢复
<NSLayoutConstraint:0x7f8df9d96900 H:[UILabel:0x7f8df9c45b40'Slide your finger down to...']-(14)-| (Names: '|':_UIBackdropContentView:0x7f8dfc034370 )>
在UIViewAlertForUnsatisfiableConstraints处创建一个符号断点,以便在调试器中捕获它。 UIView中列出的UIVonstraintBasedLayoutDebugging类别中的方法也可能有所帮助。
当我在iPad上测试时,内联播放模式正常,但在全屏模式下播放视频时,控制台中会显示类似的错误。似乎该错误与UIWebview中的全屏视频播放相关联。有谁知道为什么会生成此错误消息以及如何避免它?谢谢!
答案 0 :(得分:0)
这是一个Apple bug。
错误已在更新的iOS版本中修复。
如果仍然遇到问题-向Apple提交错误报告。