我有一个基于菜单栏的应用程序,单击图标时会显示一个窗口。
在 Mac OS X Lion 上一切正常,但由于某种原因,在 Snow Leopard 和早期版本的 Mac OS X 上会出现错误。任何时候 [TheWindowController window]
被调用时,该方法都会停止,但应用程序继续运行。因此,我不认为窗口只是零,它在某种程度上已经损坏了。
我不知道为什么会发生这种情况,就像我说的,它只发生在 Mac OS X Snow Leopard 中。 顺便提一句。我使用 ARC,如果这很重要的话。
最佳答案
您正在加载一个 NIB,该 NIB 使用 10.7 特定的功能(Cocoa Autolayout),而 10.6 则无法理解它。如果您希望支持在 10.6 上运行,则需要避免使用此类功能。您应该能够在 NIB 上设置部署目标,这将导致针对该部署目标不支持的功能显示警告。
此外,如果您还没有这样做,您需要对目标的build设置执行类似的操作。设置部署目标。不幸的是,这不一定会导致使用 10.7 中引入的功能的代码出现警告。您可以设置一个针对 10.6 SDK 构建的替代构建配置,并针对该配置进行编译,以了解您在何处使用 10.6 后的功能。请参阅 Apple 的 SDK Compatibility Guide了解更多信息。
关于cocoa - NSWindowController 窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10063672/