【发布时间】:2019-03-26 07:40:09
【问题描述】:
我在我的 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
即使我禁用了 both 这两者,它也可以为设备和“通用 iOS 设备”构建良好,但失败并出现 'ADAL/ADAL.h' file not found 错误。
是的,对于这类错误 (such as here) 有很多 SO 问题和答案,但尝试它们没有成功。具体来说,我在推荐的搜索路径中使用 $(inherited),将 enable bitcode 设置为 NO,确保我打开的是 xcworkspace 而不是 xcodeproj 文件,并尝试过
$ pod deintegrate
$ pod clean
$ rm Podfile
此外,我的应用程序使用 AWS 和 Firebase,我遇到了同样的问题,但能够通过手动添加必要的框架来修复它们。但是,我没有 ADAL 框架,坦率地说,我需要解决这个问题,这样我才能使用 Cocoapods 来安装和管理我的 AWS 和 Firebase 依赖项。仅在为模拟器构建时失败,非常可疑,哪些项目设置可能导致此问题?
【问题讨论】:
-
这很奇怪,我只是尝试
pod 'ADAL', '~> 4.0',它在设备和模拟器中都取得了成功。您是否尝试删除您的DerivedData文件夹? -
是的。我尝试的第一件事。我什至将其在 Preferences->Locations 中的位置从“default”更改为“relative”,以强制重新设置。
-
这是你使用 btw 的 cocoapod 版本。可以尝试更新一下吗?
-
我使用的是最新版本,1.6.0。实际上,我找到了解决方案,但不知道为什么它可以解决问题。在我的 Podfile 中,我有:平台:ios,'9.0',在我的项目中,我的部署目标是 9.0。但是当我将两者都更改为 11.0 时,问题就消失了。
标签: ios xcode cocoapods header-files adal