Macos 找不到符号_OBJC_IVAR_$\u NSView._层(在AppKit中)仅在10.7上可用,在10.8和10.9上可用

Macos 找不到符号_OBJC_IVAR_$\u NSView._层(在AppKit中)仅在10.7上可用,在10.8和10.9上可用,macos,cocoa,frameworks,crash,appkit,Macos,Cocoa,Frameworks,Crash,Appkit,我的mac cocoa应用程序在10.8和10.9上运行良好,但在10.7(新安装)上除外,在开始时出现以下错误:找不到Symbol:_OBJC_IVAR_$\u NSView.\u layer Process: xxx [875] Path: /Users/USER/Desktop/xxx.app/Contents/MacOS/xxx Identifier: com.xxx.xxx Version: 1.0 (1) Code Ty

我的mac cocoa应用程序在10.8和10.9上运行良好,但在10.7(新安装)上除外,在开始时出现以下错误:找不到Symbol:_OBJC_IVAR_$\u NSView.\u layer

Process:         xxx [875]
Path:            /Users/USER/Desktop/xxx.app/Contents/MacOS/xxx
Identifier:      com.xxx.xxx
Version:         1.0 (1)
Code Type:       X86-64 (Native)
Parent Process:  launchd [127]

Date/Time:       2014-02-13 17:44:24.208 +0100
OS Version:      Mac OS X 10.7.5 (11G63)
Report Version:  9

Crashed Thread:  0

Exception Type:  EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x0000000000000002, 0x0000000000000000

Application Specific Information:
dyld: launch, loading dependent libraries

Dyld Error Message:
  Symbol not found: _OBJC_IVAR_$_NSView._layer
  Referenced from: /Users/USER/Desktop/xxx.app/Contents/MacOS/xxx
  Expected in: /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit
 in /Users/USER/Desktop/xxx.app/Contents/MacOS/xxx
(xxx=appname)

我在系统磁盘上检查过,AppKit框架在forlder/system/Library/Frameworks/AppKit.framework/Versions/C/AppKit中很好

很奇怪,不是吗?
感谢您的帮助……

我通过删除所有代码中的以下行修复了此问题:

//self.layer = _layer; //Not necessary at all
self.wantsLayer = YES; //Necessary since 10.8

非常感谢你的帮助

您是否将QuartzCore.framework添加到项目中?是的。您认为这与AppKit冲突吗?目标的
OSX部署目标是什么?至少是OS X 10.7?是的,使用SDK 10.9的最低OS X部署目标为10.7。我在10.8 AppKit发行说明中读到:“在10.8之前,AppKit管理层将被销毁(并移除)从窗口中删除视图或将视图移动到另一父视图时。这会导致丢失该层上设置的任何自定义属性。对于明确具有SetWantLayer的任何视图:是,基础AppKit托管层不会被销毁,自定义设置层属性也不会丢失。“。但我不明白我必须在代码中修改什么。是的,我定制了一些类以在某些nsview、nsbutton等中获得圆角。在10.7中不可能吗?