3

我正在尝试让我在 Mountain Lion 上使用 Xcode 4.4 构建的 OS X 应用程序也可以在 Lion 上工作。

OS X 部署目标设置为 10.7 没有帮助。该应用程序仍然无法在 Lion 上运行。(该应用程序不会打开,单击它不会执行任何操作。)

我尝试将基本 SDK 设置为 10.7,但我得到了很多错误,因为我到处都在使用NSArrayNSDictionary文字、下标以及@propertys 的默认合成。

根据Objective-C 功能可用性指数,这些功能应该可以在 Lion 上运行。

问题可能是什么?

4

1 回答 1

5

NSWindow不支持 Lion 中的弱引用。从“过渡到 ARC 发行说明”:

哪些类不支持弱引用?

您目前无法创建对以下类实例的弱引用:

NSATSTypesetter, NSColorSpace, NSFont, NSMenuView, NSParagraphStyle, NSSimpleHorizontalTypesetter, 和NSTextView.

注意:此外,在 OS X v10.7 中,您不能创建对 NSFontManagerNSFontPanelNSImageNSTableCellViewNSViewControllerNSWindow和的实例的弱引用NSWindowController。此外,在 OS X v10.7 中,AV Foundation 框架中没有类支持弱引用。对于声明的属性,你应该使用assign而不是weak;对于变量,您应该使用 __unsafe_unretained 而不是 __weak。

此外,您不能从 、 或 ARC 下的实例创建 NSHashTableNSMapTable引用NSPointerArray

所以是的,你应该assign在为 Lion 编译时使用。(参考

于 2012-08-07T17:25:11.883 回答