4

我的应用程序的目标是 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,但是内容会移动。最后一次警告碰巧是第NSSuperview383 行的那条线,至少可以说这很奇怪)。

有时我会收到两个警告。另一个警告是:

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 下运行时导致问题(在开发期间我无法做到这一点)。我很乐意根据需要提供更多信息。

4

1 回答 1

9

要删除它:

1)选择XIB文件(编辑器打开)

2) 按cmd+ opt+3打开相关 XIB 的 Identity Inspector。然后在警告导航器中按下警告——它应该在 NIB 编辑器中选择有问题的对象。

3) 清除 Identity > Identifier 中的值(就在您将指定自定义类的字段下方)

4) 保存并构建。

那应该这样做。

这是什么意思:

您正在使用 10.6 不支持的文档功能。

具体来说,这个键/值似乎与@protocol NSUserInterfaceItemIdentification

NSUserInterfaceItemIdentification 协议用于将唯一标识符与用户界面中的对象相关联。AppKit 接口对象采用该协议来支持窗口恢复,从而保留有关窗口和其他与接口相关的对象的信息,并用于在下一个启动周期恢复应用程序的界面。

在 XIB 中搜索的关键是userInterfaceItemIdentifier.

于 2012-09-04T11:17:01.053 回答