首页 > 解决方案 > Cocoapods 导致 Xcode Simulator 但不是设备的“找不到库”和标头“找不到文件”错误

问题描述

我在我的 Xcode 项目中使用 Cocoapods,但在使用模拟器构建时似乎会导致“找不到库”和标题“找不到文件”错误,但当我连接设备或使用“通用 iOS 设备”时不会”。

我的 Podfile 很简单。我那里只有一个 pod,用于 Microsoft 的 ADAL SDK,用于单点登录。当我使用 use_frameworks 时!在我得到的 Podfile 中:

fatal error: 'ADAL/ADAL.h' file not found

为线

#import <ADAL/ADAL.h>

但如果我使用 use_modular_headers!而不是use_frameworks!我得到:

ld: warning: directory not found for option '-L/Users/memyself/Documents/iOS_Projects/ASSIST-main/ASSIST-main/DerivedData/MyApp/Build/Products/Debug-iphonesimulator/ADAL'
ld: library not found for -lADAL

即使我禁用了这两者,它也可以为设备和“通用 iOS 设备”构建良好,但失败并出现“未找到文件”错误。

是的,对于这些类型的错误(例如这里)有很多 SO 问题和答案,但尝试它们没有成功。具体来说,我在推荐的搜索路径中使用 $(inherited),将 enable bitcode 设置为 NO,确保我打开的是 xcworkspace 而不是 xcodeproj 文件,并尝试过

$ pod deintegrate
$ pod clean
$ rm Podfile

此外,我的应用程序使用 AWS 和 Firebase,我遇到了同样的问题,但能够通过手动添加必要的框架来修复它们。但是,我没有 ADAL 框架,坦率地说,我需要解决这个问题,这样我才能使用 Cocoapods 来安装和管理我的 AWS 和 Firebase 依赖项。非常可疑的是,它仅在为模拟器构建时失败,哪些项目设置可能导致这种情况?

标签: iosxcodecocoapodsheader-filesadal

解决方案


更新部署目标和 Podfile 'platform' 目标。从 9.0 更新到 11.0。在您的 Podfile 中更改此行

平台:ios,'11.0',这在你的目标和项目中:

在此处输入图像描述


推荐阅读