Xcode Storyboard 警告未提供上下文:不支持的约束属性配置

Posted

技术标签:

【中文标题】Xcode Storyboard 警告未提供上下文:不支持的约束属性配置【英文标题】:Xcode Storyboard Warning not providing context: Unsupported Configuration of constraint attributes 【发布时间】:2016-11-22 22:55:08 【问题描述】:

我有这个警告,它在运行时似乎不会导致任何问题,但它是我一段时间以来唯一的警告,我希望它消失。

单击它会打开情节提要,但在视图层次结构和情节提要中没有选择任何内容。右键单击并单击“在日志中查看”没有任何作用。右键单击并选择“打开为 > 源代码”每次都会使 XCode 崩溃。右键单击项目导航器中的情节提要并作为源代码打开不会在顶部附近显示任何警告信息,就像我遇到的其他情节提要警告一样。

我在 SO 或 Apple 文档中找不到有关此警告的任何信息。我可以找到其他“不支持的配置”警告,但没有此类消息。

知道如何找到并解决此警告的来源吗?

谢谢

编辑 - 我的特殊问题是 Apple 的一个错误,处理网络视图,没有办法解决它。这是对警告的错误分类。如果您在尝试像我一样获取它时遇到类似结果的错误,您可能会遇到同样的问题:https://forums.developer.apple.com/thread/63254

但是,JOM 的回答对于修复此警告的实际预期发生情况非常有帮助,并且对于跟踪类似问题也非常有帮助。鉴于它如何提供解决此警告的正确方法,并且人们更有可能通过遇到警告并且没有遇到与我相同的问题来找到此问题,我将其标记为正确。

为了更好的 SEO,警告是:“不支持的约束属性配置。这可能会在 Xcode 5.1 之前的运行时产生意外结果”

【问题讨论】:

你需要找出一个或多个在你的故事板中看起来会褪色的约束。当您使用 size 类并删除了一个或多个 elementconstraint 仍然存在时,就会发生这种情况。试一次。 你有多大把握是这样的?我看到另一个“不支持的配置”警告,但描述不同,更类似于你所说的。我忘记了确切的措辞,但它基本上说一个物体丢失了。我没有一个小故事板,我需要大约一个小时来扩展我所有 VC 中的每个元素以检查每个约束对象。我不想在不确定的情况下浪费那个小时。 没有人愿意浪费那么多时间。我认为我们可以找到任何方法来识别该特定约束。我需要检查一次。我们必须在空白情节提要中强制重现这种情况,然后我们需要在情节提要的源代码视图中检查该约束块的语法是否与正常的语法不同。如果它包含稍微不同的语法,甚至是一个字符。然后我们只需要匹配那个模式并在你巨大的故事板中搜索。我在上面。 【参考方案1】:

打开构建日志并通过点击警告右侧的小框图标展开详细信息来检查警告。你应该在最后找到类似的东西:

/* com.apple.ibtool.document.warnings */ /Users/username/git/folder/project/Collection/Collection.storyboard:2f5-sJ-euT: 警告:约束属性的配置不受支持。这可能 在 Xcode 5.1 之前的运行时产生意外结果

现在打开该故事板作为源代码并搜索警告中提到的 ID。在这种情况下,它是2f5-sJ-euT。你应该会找到这样的东西:

<constraint firstAttribute="centerX" secondItem="ReE-6A-euY"
    secondAttribute="centerX" id="2f5-sJ-euT"/>

现在您可以检查问题所在。为了帮助你,你可以例如通过查看包含对象的可能 reuseIdentifier 来检查此约束在哪里。当您以 Storyboard 格式打开故事板时,更容易找到它。

在我的情况下,警告是关于不再需要的约束,我只是删除了它。并测试了该应用程序当然仍然可以正常运行。

【讨论】:

我相信如果这是一个特殊的问题,它会在故事板上突出显示适当的转场,就像我过去看到的那样。但是,按照您的建议,我能够获得比问题导航器中可用的更多信息,看到问题是“类 PLBuildVersion 在两者中都实现了......”,来自两个 Apple 控制的类。谷歌搜索更具体的警告,我找到了这个:forums.developer.apple.com/thread/63254 显然我无能为力,只能向 Apple 报告。 由于您的回答使我得到了正确的答案,如果您将答案更改为更通用以获取有关此警告的更多信息,因为这是我的问题的重要组成部分,我会标记您的回答正确。就目前而言,我不想将其标记为正确,因为它不是问题的答案,我讨厌选择不正确的答案,但我想给你点数。 没关系,没问题!我的回答是针对约束的,因为这是您的问题中唯一提到的。这种约束问题也很难弄清楚,我也有同样的警告。谢谢你的问题,我意识到我应该检查故事板作为源代码:) 警告提到了约束,但它似乎是关于在情节提要上包含一个触发警告的 UIWebview,而提到的约束只是 Apple 的错误分类警告。 @JakeT。我目前在一个项目中有警告,并且情节提要上没有网络视图,所以要么这不是罪魁祸首,要么有多种触发警告的方式【参考方案2】:

我只是一个干净的项目,问题消失了 (cmd+k)

【讨论】:

以上是关于Xcode Storyboard 警告未提供上下文:不支持的约束属性配置的主要内容,如果未能解决你的问题,请参考以下文章

Xcode:LaunchScreen.storyboard 未显示

点击文本字段时用选择器视图替换键盘(Swift、Storyboard、iOS 9、Xcode 7)

Xcode Storyboard 中不提供容器视图

Xcode 7.3 - 警告未显示且无法搜索项目

iOS Launchscreen.storyboard 图片未显示

未显示情节提要警告