使用以前版本的MacOS的应用程序在High Sierra上失败,并显示以下消息:
dyld:未找到符号:_OBJC_IVAR _ $ _ NSScroller._action参考 来自:预计: /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit
可能导致此问题的变化是什么? (我不是MacOS开发方面的专家)我怀疑 otool 命令可能有助于识别与此问题相关的更改,但还没有找到正确的参数。
检查AppKit文档https://developer.apple.com/documentation/appkit/deprecated_symbols它说不推荐使用NSDrawer,这是否相关?
NSDrawer [已弃用] 除了其他视图子类之外,还包含和显示文本,滚动和浏览器视图的用户界面元素。
答案 0 :(得分:15)
卡塔琳娜升级的相同问题。
验证了旧目录...
$ xcode-select -p
> /Applications/Xcode.app/Contents/Developer
但是在运行switch directory命令时,它失败了:
$ xcode-select -switch /Library/Developer/CommandLineTools
> xcode-select:错误:无效的开发人员目录'/ Library / Developer / CommandLineTools /'
必须执行以下操作:
安装xcode-select(这将通知xcode cli dev工具需要下载并安装)
$ xcode-select --install
> xcode-select:注意:要求安装命令行开发人员工具
现在,运行switch命令,世界上一切都会恢复正常。
$ sudo xcode-select -switch /Library/Developer/CommandLineTools/
希望这会有所帮助。
答案 1 :(得分:11)
我必须下载x代码(更新x代码)来解决此问题。
运行此命令sudo xcode-select -switch /Library/Developer/CommandLineTools/
似乎对我不起作用。但也尝试这样做。
答案 2 :(得分:5)
我收到此错误,因为在MacOS版本升级后未设置活动的开发人员目录。这个目录 控制用于Xcode命令行工具的工具(例如, xcodebuild)以及BSD开发命令(例如cc和make)。
执行以下操作可为我解决此问题:
sudo xcode-select -switch /Library/Developer/CommandLineTools/
答案 3 :(得分:0)
今天从高山脉升级到macOS Catalina时,也遇到了同样的问题。
对我有用的是
1)安装命令行工具
xcode-select --install
2)更新活动的开发人员目录路径
sudo xcode-select --switch /Library/Developer/CommandLineTools/