Cocoapods 导致 "library not found" 和 header "file not found" 错误 Xcode 模拟器但不是设备

Cocoapods causing "library not found" and header "file not found" errors for Xcode Simulator but not device

我在我的 Xcode 项目中使用 Cocoapods,但它似乎在使用模拟器构建时导致 "library not found" 和 header "file not found" 错误,但没有当我连接设备或使用 "Generic iOS Device".

我的 Podfile 很简单。我那里只有一个 pod,用于 Microsoft 的 ADAL SDK,单个 sign-on 需要。当我使用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

即使我禁用了其中的两者,它也能很好地为设备和"Generic iOS Device"构建,但失败并显示'ADAL/ADAL.h'文件未找到错误。

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

$ pod deintegrate
$ pod clean
$ rm Podfile

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

更新部署目标和 Podfile 'platform' 目标。将两者从 9.0 更新到 11.0。在您的 Podfile

中更改此行

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

尝试仅在构建设置中更改构建活动架构。