Xcode模拟器-CyMemDef.dylib:mach-o,但不是为iOS模拟器构建的

时间:2018-11-02 07:34:37

标签: ios xcode

我正在研究一台新的Macbook,并且刚刚使用开发人员工具下载并安装了Xcode。

我已经用Xcode创建了一个全新的项目(没有修改或添加框架/ pod)。我正在尝试在模拟器上运行相同的代码。当我这样做时,我的应用程序崩溃并显示“ SIGABRT”。日志显示以下消息:

dyld: Library not loaded: /Library/Application Support/Cylance/Desktop/CyMemDef.dylib
Referenced from: /Users/me/Library/Developer/CoreSimulator/Devices/80FC5E5D-2979-48C9-94F6-6C6D2A8073E6/data/Containers/Bundle/Application/B438FB0C-79A7-445E-B381-5D7E9247623B/demo.app/demo
Reason: no suitable image found.  Did find:
/Library/Application Support/Cylance/Desktop/CyMemDef.dylib: mach-o, but not built for iOS simulator

3 个答案:

答案 0 :(得分:6)

对我来说,解决方案是将项目的iOS部署目标更改为11.4或更早版本。

使用iOS Deployment Target 12.0,该应用每次都崩溃!

我正在macOS High Sierra 10.13.6上运行Xcode 10.0和Cylance 2.0.1500.518。

答案 1 :(得分:5)

CryptoKit也有类似的问题,仅在iOS 13及更高版本中可用(而项目的目标是iOS 9.3)。似乎出于某种原因CryptoKit没有被标记为weak。将-weak_framework CryptoKit添加到目标的Build Settings> Other Linker Flags为我解决了这个问题:

enter image description here

答案 2 :(得分:0)

另一个导致相同错误的原因。

自定义modulemap文件配置错误也可能是导致此问题的原因。

就我而言,这是错误:

--- framework module XXYZ {
+++ module XXYZ {
    header "SomethingCustom-header.h"
}