objective-c - macOS 应用程序在 10.13 上崩溃,找不到符号:_NSAppearanceNameDarkAqua
问题描述
我正在使用部署目标 10.13 构建 macOS 应用程序
在 10.15 上工作,但在 10.13 上崩溃
Termination Reason: DYLD, [0x4] Symbol missing
Application Specific Information:
dyld: launch, loading dependent libraries
Dyld Error Message:
Symbol not found: _NSAppearanceNameDarkAqua
解决方案
您需要使使用此变量的代码依赖于正在执行的 macOS 版本:
if (@available(macOS 10.14, *)) {
return NSAppearanceNameDarkAqua;
} else {
return nil;
}
您也可以老派并将其声明为薄弱环节:
extern NSAppearanceName const NSAppearanceNameDarkAqua __attribute__((weak_import));
...
if (NSAppearanceNameDarkAqua!=NULL) {
...
推荐阅读
- java - KafkaTemplate Producer 错误使用 Intellij 进行不需要的红色突出显示
- antlr4 - 为什么结束括号在我的 antlr4 语法中不被识别为有效?
- php - 启用 CloudFlare 时无法从 curl 获取请求中检索授权令牌
- node.js - Firebase 存储 - 从 Cloud Function 上传会导致文件无法访问
- reactjs - React-map-gl 不适合父级
- powershell - 如何在 Write-Host 中使用十六进制代码作为颜色?
- google-cloud-platform - Google Cloud VM 启动脚本无法安装 pip3
- python - 将循环代码转换为python中的一行代码?
- tensorflow - 为什么我不能通过 google colab 将 TensorFlow 预测图像从谷歌地球引擎写入谷歌云存储桶?
- reactjs - ReactJS Formik 以红色显示错误消息