我的应用程序的目标是10.6,并且所有.xib文件的“部署”值与之相比为10.6,最近更改为10.7(我不知道何时)。如果我将其更改回10.6,我会收到来自Xcode的以下警告:
/Users/andy/Source/.../Preferences.xib:383: Identifier on OS X versions prior to 10.7
以下是.xib文件的相关部分:
381: <string key="NSFrame">{{1, 1}, {116, 104}}</string>
382: <reference key="NSSuperview" ref="14642427"/>
383: <reference key="NSNextKeyView" ref="1001986100"/>
384: <string key="NSReuseIdentifierKey">_NS:11</string>
(事实上,当我在BBEdit中打开.xib以查看警告线然后关闭它并清理/构建Xcode时,被警告的线似乎发生了变化;但是内容总是移动383。警告发生的时间是第383行的NSSuperview
线,至少可以说是奇怪的。
有时我会收到两个警告。另一个警告是:
file://localhost/Users/andy/Source/.../Preferences.xib: warning: Attribute Unavailable: Identifier on OS X versions prior to 10.7
当我点击它时,会突出显示.xib文件中的自定义视图。
有谁能告诉我这个警告意味着什么以及我如何摆脱它?
我使用Xcode 4.4.1在10.8下开发,我认为这个警告在10.6下运行时会引起问题(我在开发过程中无法做到这一点)。我很乐意根据需要提供其他信息。
答案 0 :(得分:8)
删除它:
1)选择XIB文件(编辑器打开)
2)按cmd
+ opt
+ 3
打开相关XIB的Identity Inspector。然后按警告导航器中的警告 - 该警告应在NIB编辑器中选择违规对象。
3)清除Identity中的值&gt;标识符(位于您指定自定义类的字段下方)
4)保存并构建。
应该这样做。
含义:
您正在使用10.6不支持的文档功能。
具体来说,此键/值似乎与@protocol NSUserInterfaceItemIdentification
:
NSUserInterfaceItemIdentification协议用于关联a 用户界面中包含对象的唯一标识符。协议是 AppKit接口对象采用支持窗口恢复, 有关窗口和其他与接口相关的对象的信息 保留并用于恢复应用程序的界面 下一个发射周期。
在XIB中搜索的关键是userInterfaceItemIdentifier
。