Macos 找不到符号_OBJC_IVAR_$\u NSView._层(在AppKit中)仅在10.7上可用,在10.8和10.9上可用
我的mac cocoa应用程序在10.8和10.9上运行良好,但在10.7(新安装)上除外,在开始时出现以下错误:找不到Symbol:_OBJC_IVAR_$\u NSView.\u layerMacos 找不到符号_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
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中不可能吗?