Lion不会运行使用Mountain Lion构建的应用程序

kmi*_*ael 3 macos xcode cocoa objective-c

我正在尝试使用Mountain Lion上的Xcode 4.4构建一个OS X应用程序,以便在Lion上工作.

OS X部署目标设置为10.7没有帮助.该应用程序仍然无法在Lion上运行.(该应用程序无法打开,点击它不会做任何事情.)

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

根据Objective-C功能可用性索引,这些功能应该适用于Lion.

问题是什么?

Ver*_*ous 5

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

哪些类不支持弱引用?

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

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

注:另外,在OS X v10.7,你不能创造的实例弱引用 NSFontManager,NSFontPanel,NSImage,NSTableCellView, NSViewController,NSWindow,和NSWindowController.此外,在OS X v10.7中,AV Foundation框架中的任何类都不支持弱引用.对于声明的属性,您应该使用assign而不是weak; 对于变量,您应该使用__unsafe_unretained而不是__weak.

此外,您不能创建弱引用的实例 NSHashTable,NSMapTableNSPointerArray根据ARC.

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