dyld:警告:这是啥错误?

Posted

技术标签:

【中文标题】dyld:警告:这是啥错误?【英文标题】:dyld: warning: What is this error?dyld:警告:这是什么错误? 【发布时间】:2016-09-20 15:21:26 【问题描述】:
dyld: warning: could not load inserted library '/usr/local/lib/dgagent/libpreload.dylib' because no suitable image found.  Did find:
/usr/local/lib/dgagent/libpreload.dylib: mach-o, but not built for ios simulator

当我尝试在 Xcode 8 上构建和运行我的应用程序时,我会立即将此输出到控制台日志。

当我使用 Xcode 7 运行同一个应用程序时,不会发生这种情况。该应用程序很好,没有任何投诉。该应用程序使用的是 Swift 2.3(在 Xcode 8 中,旧版设置为 yes)。这令人沮丧,因为我需要在 iOS 10 模拟器上测试我的应用程序,因为在我的设备上,该应用程序在 iOS 10 上无法正常运行(适用于 iOS 9.3.5)

【问题讨论】:

【参考方案1】:

我知道最初的问题已经很老了,但我今天遇到了同样的错误,并注意到 OP 也被 Digital Guardian (dgagent) “安全”软件所破坏。 DG 用“安全”版本替换各种系统库,这些版本会削弱操作系统以执行有关文件访问、阻止网站等的公司政策。 对我来说,libpreload.dynlib 已被 DG 取代,当 IT 安装新的 DG 版本时,它只有 64 位版本的库,而不是 32 位版本,并且一些旧的 32 位应用程序(如 Exceed)停止工作。

【讨论】:

【参考方案2】:

Xcode 8 发行说明的第一段告诉你:

Xcode 8 中使用的 Swift 2 (2.3) 版本与 Xcode 7.3.1 中使用的版本非常接近。但是,它已针对较新的 SDK 进行了更新,因此 与在 Xcode 7.3.1 中编译的 Swift 框架不兼容

(我的斜体。)

【讨论】:

我的代码编译,实际上应用程序被安装到 iOS 模拟器。但我正面临崩溃,想知道这个错误是否是罪魁祸首。但是,我有可能需要在 Xcode 8 中重新编译的依赖项。感谢您指出。【参考方案3】:

我不知道确切的原因,但是当我将旧版本的 Xcode 从 Xcode 重命名为 Xcode8.2 时我得到了这个错误,因为我认为管理不同的版本会更容易。我将它重命名回 Xcode 并打开 Settings > Locations 并重新选择了 Xcode 8.2 的相应命令行工具,警告消失了。

【讨论】:

以上是关于dyld:警告:这是啥错误?的主要内容,如果未能解决你的问题,请参考以下文章

C语言不管输入啥,编译之后都是一个错误,零个警告。请问这是怎么回事?

Findbugs 警告:整数移位 32 - 这是啥意思?

参考 - 这个错误在 PHP 中是啥意思?

参考 - 这个错误在 PHP 中是啥意思?

参考 - 这个错误在 PHP 中是啥意思?

参考 - 这个错误在 PHP 中意味着啥?