Answers:
从Xcode 6.1.1开始,此警告可能很烦人。主要问题是您无法通过单击警告轻松找到引用的约束。我猜这是一个错误,迟早会得到修复。
但是,与此同时,您可以使用以下解决方法:
Reveal in Log
😨... snip ...
/Devel/MyCrippledAppNG/MyCrippledApp/Main_iPad.storyboard:Dlb-cb-nWC: warning: Constraint referencing items turned off in current configuration. Turn off this constraint in the current configuration.
/Devel/MyCrippledAppNG/MyCrippledApp/Main_iPad.storyboard:6Ze-mO-v5N: warning: Constraint referencing items turned off in current configuration. Turn off this constraint in the current configuration.
/Devel/MyCrippledAppNG/MyCrippledApp/Main_iPad.storyboard:9av-xw-u1o: warning: Constraint referencing items turned off in current configuration. Turn off this constraint in the current configuration.
/Devel/MyCrippledAppNG/MyCrippledApp/Main_iPad.storyboard:RPt-Uf-vaZ: warning: Constraint referencing items turned off in current configuration. Turn off this constraint in the current configuration.
/Devel/MyCrippledAppNG/MyCrippledApp/Main_iPad.storyboard:Rnc-4M-7jV: warning: Constraint referencing items turned off in current configuration. Turn off this constraint in the current configuration.
/Devel/MyCrippledAppNG/MyCrippledApp/Main_iPad.storyboard:epJ-D9-KEF: warning: Constraint referencing items turned off in current configuration. Turn off this constraint in the current configuration.
/Devel/MyCrippledAppNG/MyCrippledApp/Main_iPad.storyboard:4HC-Gu-01w: warning: Constraint referencing items turned off in current configuration. Turn off this constraint in the current configuration.
... snip ...
请注意,对于5/2016的Xcode,在某些情况下,您必须退出并重新启动 Xcode才能清除此警告。
请注意,令人困惑的是,一个不相关的问题(这似乎是Apple错误或错误语言的使用不当)可能导致相同的错误:如果您有IBInspectable
项目,并且碰巧在Swift文件中将其重命名。Xcode中并没有删除旧名UserDefinedRuntimeAttributes为您服务。只需单击“身份检查器”(右侧面板上的项目3),然后删除未使用的项目。
当您停用情节提要中的视图但未禁用基于该视图的约束时,将触发此消息。
例如,您停用了一个按钮,但是仍然有一些约束链接到该按钮。它可以是诸如高度或宽度之类的固有约束,也可以是诸如与另一视图的距离之类的相对约束。
您必须关闭引用该视图的每个约束,并且必须手动进行。Xcode在这里过于保守,不会为您做到这一点。
此解决方案对我有用。
因为我将我在Xcode 5中开发的项目中的多个项目复制到Xcode 6中,并且Xcode 6中的情节提要支持多种布局,所以对于每个约束,我都需要将其安装在当前配置中。
例如,我使用“紧凑宽度|常规高度”,对于约束,我需要如下设置:
在检查并设置项目中的所有数百个约束(清理和构建)之后,警告最终消失了。
Installed
视图对象属性中也有那些讨厌的复选框。因此,请确保您认为正在显示的视图对象已选中正确的复选框。警告是告诉您某些对象未显示在中current configuration
。
只是想添加我的案例,这个错误是如何发生的:在我的案例中,我想删除带有“ Cmd + Backspace”的文本字段。我直接在Scene-Builder Tree-View中执行了此操作:
您会看到贪睡字段显示为灰色。
所以对我来说很容易发现。您可以通过选择以下选项来简单地删除字段:
从菜单编辑删除
令人惊讶的是,这确实删除了该字段(包括约束)。也许这可以帮助某人轻松找到此烦人的警告的原因...
扩展说明
其他答案都没错。我只是想提请注意原始警告中的措词,并确定几个用例可以在一个人的工作流程中显示。
约束引用项在当前配置中已关闭。
这意味着在一个或多个约束中引用的某些项目(通常是通常可见的控件或自定义视图)被关闭(禁用或未选中“已安装”复选框)。例如,如果您决定要在主视图之外的情节提要中将控件或视图移动到控件(或有时在执行大小类有趣的操作时可能会看到),则如果控件附加了约束,则可能会看到此警告。
连同推荐的解决方案:
在当前配置中关闭此约束。
两种修复方法
文件大纲
在视觉上,您可以在情节提要中打开“文档大纲”,然后找到灰色的约束,这些约束引用了位于主视图之外的控件/视图(加宽大纲,单击约束,并查看属性检查器,单击鼠标右键以快速查看) 。然后从该上下文中删除约束(大小类)。例如,在我的情况下,我只是握住控件,直到我决定稍后在哪里展示它,因此我选择完全删除有问题的约束,直到以后。但是在大小类中,我只是使用属性检查器中已安装的复选框从当前上下文中卸载约束。
日志导航器/查找工具
人们还可以继续使用日志导航器,通过为故事板上的每个对象赋予唯一标识符来查找问题控件。在日志中,它恰好在黄色突出显示的文本之前,并且通常采用上述示例中所示的形式:jvj-mY-DHf
然后,可以使用标识符使用Xcode中的查找工具来定位和删除(完全)或卸载(对于当前上下文)违规约束。
如果您喜欢Xml及其简单性,也可以将Storyboard作为源代码打开,找到有问题的唯一标识符,然后删除相应的xml块。
对我有用的(我不知道为什么)是关闭“使用性状变异”,然后执行清除操作,然后重新打开它们。下一个版本没有警告。
要关闭“使用特征变化”,只需在项目导航器中选择情节提要,然后选择“文件检查器”。
然后只需取消选择“使用性状变异”,按Shift-CMD K即可执行清除操作,如果要使用它们,请重新打开性状变异。
正如@BadCat的回答中所提到的并得到很好的指导,我遵循了这些步骤,并且我只敢再走一步!
BadCats的最后一步之后要执行的步骤回答:
第1步:
我在“界面生成器”中选择了约束,然后牢记它的作用,然后将其删除。
第2步
生成XCode项目,它将显示警告数量可能增加。那是因为您删除了一个需要良好编译的约束。因此,请转到第三步!
第三步
重新添加您要牢记的约束(已删除的约束)。然后重新构建它!
对我来说,警告只是通过这样做而消失了!我想这将对某些人有效!
原因:
据我所知,引起此警告的问题是,我有一个Label连接到IBOutlet,但其名称以大写字母开头。因此,我在ViewController中用一个简单的字母将其重命名,然后在IB中对其进行了更改。我删除了过去的IBOutlet,然后将其连接到新重命名的属性名称并进行了连接。然后我注意到有新警告发出。
首先,我也在该线程中尝试了以下答案,但没有帮助!
干杯!
我在堆栈视图上遇到了问题。删除约束并重新添加约束无济于事。清洁和重建无济于事。
对我来说,解决方案是创建一个全新的堆栈视图对象。
然后将所有元素从旧堆栈视图移到新堆栈视图。
删除旧的堆栈视图可解决此问题。