我正在尝试在Mountain Lion上使用Xcode 4.4构建的OS X应用程序也可以在Lion上运行。
将 OS X 部署目标设置为 10.7 无济于事。该应用程序仍然无法在 Lion 上运行。(该应用程序不会打开,单击它不会执行任何操作。
我尝试将基本SDK设置为10.7,但是我收到了很多错误,因为我使用NSArray
和NSDictionary
文字,下标以及@property
的默认合成。
根据 Objective-C 功能可用性指数,这些功能应该适用于 Lion。
问题可能是什么?
NSWindow
不支持Lion 中的弱引用。从"过渡到 ARC 发行说明"中:
哪些类不支持弱引用?
当前无法创建对 以下类:
NSATSTypesetter
,NSColorSpace
,NSFont
,NSMenuView
,NSParagraphStyle
,NSSimpleHorizontalTypesetter
,NSTextView
。注: 此外,在 OS X v10.7 中,您无法创建对
NSFontManager
、NSFontPanel
、NSImage
、NSTableCellView
的实例,NSViewController
、NSWindow
和NSWindowController
。此外,在操作系统中 X v10.7 AV 基础框架中没有类支持弱 引用。对于声明的属性,应使用分配而不是 弱;对于变量,您应该使用 __unsafe_unretained 而不是 __弱。此外,不能从 的实例创建弱引用
NSHashTable
、NSMapTable
或NSPointerArray
在ARC下。
所以是的,在为 Lion 编译时,您应该改用assign
。(参考资料(