2

我想更新我的应用程序并只切换到 Lion,因为我正在使用新的 NSPopover 类。我将部署目标和基本 SDK 设置为 10.7,但仍然收到错误消息:

NSPopover:类不可用(10.7 之前的 Mac OS X 版本上的 NSPopover)

错误信息

我还将 XIB 设置为使用 NSPopover 到 Interface Builder 4.1 并将其 SDK 设置为 10.7。我究竟做错了什么?

编辑:我忘了提到该项目成功构建并且它运行并与弹出框一起正常工作!只有那个烦人的错误不断出现。不知道会不会影响提交到App Store...</p>

构建成功 架构选项 目标 SDK

4

1 回答 1

3

我无法复制您遇到的问题。如果我创建一个带有弹出框的 xib 文件,然后在界面生成器中将该 xib 的部署设置设置为 10.6,我会收到与您相同的错误。当我将其更改为 10.7 或 Project SDK 版本时,它就会消失。

这种情况发生在一个全新的项目或一个我使用 Xcode 中出现的选项挖掘并“现代化”的旧项目中。

我已经尝试更改项目中的所有部署目标,但除了界面生成器中的设置之外,实际上没有任何东西会导致错误出现。

在文本编辑器中打开有问题的 xib 文件并查找以下内容可能是值得的:

<int key="IBDocument.SystemTarget">1070</int>

如果这是一个不同的值,或者它重复或丢失,那可能是你的问题。

如果您有多个本地化版本的 xib,则需要更改所有版本中的设置。

如果做不到这一点,我认为您所能做的就是将 xib 的内容复制到一个新文件中,这可能会或可能不会是一个巨大的痛苦,具体取决于它的复杂程度。

我希望这会有所帮助,我想这是一个非常令人沮丧的问题。哦,另外,如果您的应用程序是 Lion-only,您可以将架构设置为 64 位。

于 2011-10-02T12:37:08.383 回答