1

我有一个基于菜单栏的应用程序,当单击图标时,它会显示一个窗口。这一切在 Mac OS X Lion 上运行良好,但由于某种原因,Snow Leopard 和较早版本的 Mac OS X 上发生错误。任何时候[TheWindowController window]调用该方法都会停止,但应用程序会继续运行。因此,我不认为窗口只是零,它在某种程度上是腐败的。

我不知道为什么会发生这种情况,就像我说的,它只发生在 Mac OS X Snow Leopard 中。顺便提一句。我使用 ARC,如果这很重要的话。

4

1 回答 1

6

您正在加载一个在 10.6 上使用 10.7 特定功能 Cocoa Autolayout 的 NIB,但它不理解它。如果您希望支持在 10.6 上运行,则需要避免使用此类功能。您应该能够在 NIB 上设置部署目标,然后会针对该部署目标不支持的功能显示警告。

此外,如果您还没有这样做,您需要对目标的构建设置执行类似的操作。设置部署目标。不幸的是,对于使用 10.7 中引入的功能的代码,这不一定会导致警告。您可以设置一个替代构建配置,该配置针对 10.6 SDK 构建并针对它进行编译,以了解您在何处使用 10.6 后的功能。有关详细信息,请参阅 Apple 的SDK 兼容性指南

于 2012-04-08T16:46:53.407 回答