cocoa - NSWindowController 窗口?

标签 cocoa window osx-lion automatic-ref-counting nswindowcontroller

我有一个基于菜单栏的应用程序,单击图标时会显示一个窗口。 在 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/

相关文章:

objective-c - 自动核心数据迁移在 Mac OS X 10.5 上失败,但在 10.6 或 10.7 上则不会

iphone - 如何创建包含多行代码的宏?

compiler-errors - 如何解决错误:Conflicting type for “snprintf”

ios - 无线开发 iPad

objective-c - 使用 mouseEntered 的 Cocoa 按钮翻转 : and mouseExited:?

macos - 禁用恢复

javascript - 如何在进行大量计算时保持 gif 动画运行

javascript - Window.print() 不获取当前 url

javascript - 如果我添加此 if 语句,为什么我的网站在移动设备上不显示任何内容?

cocoa - 如何在 OS X Lion 中恢复无窗口应用程序 (LSUIElement)