2011-09-29 52 views
2

我想更新我的应用程序并仅切换到Lion,因为我使用的是新的NSPopover类。我把我的部署目标和基地SDK至10.7,但我仍然得到错误信息:(之前的10.7 NSPopover在Mac OS X版本)NSPopover:类不可用(10.7之前的Mac OS X版本上的NSPopover)

Error Message

类不可用:

NSPopover

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

编辑:我忘了提及该项目成功构建,它运行并与弹出工作正常!只有不断出现的烦人的错误。我不知道这是否会影响提交到App Store ...

Build Succeeded Architecture options Target SDK

回答

3

我不能复制你所得到的问题。如果我创建了一个带有弹出窗口的xib文件,那么在界面生成器中将该xib的Deployment设置设置为10.6,我会得到和你一样的错误。当我将其更改为10.7或Project SDK版本时,它会消失。

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

我已经尝试更改项目中的所有部署目标,但除了界面生成器中的设置外,实际上并没有发生错误。如果这是一个不同的值,或重复或缺失,这可能是你的问题

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

这可能是值得您在文本编辑器中打开有问题的厦门国际银行文件,并查找以下。

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

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

我希望这有助于,我想这是一个非常令人沮丧的问题。哦,另外,如果您的应用程序仅限于Lion,则可以将体系结构设置为64位。

+0

我打开XIB并将SystemTarget设置为1060.我在所有本地化中将其更改为1070,但错误仍然存​​在......任何奥德想法?这是真的令人沮丧...复制到一个新的XIB将是最后一个选项,它是相当巨大的; - \ – tamasgal

+0

有趣的是,它是错误的,虽然你将它设置在IB。不知道还有什么要尝试...清理项目(再次...... ??) – jrturton

+0

是的。我清理它像百次;-)还删除派生的数据文件夹... hmpf – tamasgal