Xcode 链接器命令失败 - 找不到目录

Posted

技术标签:

【中文标题】Xcode 链接器命令失败 - 找不到目录【英文标题】:Xcode Linker command failed - Directory not found 【发布时间】:2017-04-04 10:54:14 【问题描述】:

我在一个 React Native ios 项目上使用 auth0,我已经完成了以下步骤:

首先你需要运行以下命令来安装 react-native-lock npm install --save react-native-lock

之后,将 react-native-lock 链接到您的 iOS 项目: react-native link react-native-lock

在运行上述程序时,cocoapods 会安装一些依赖项,这些依赖项都安装成功:

Adding Podfile to iOS project
Installing Pods
Analyzing dependencies
Downloading dependencies
Using AFNetworking (3.1.0)
Using Lock (1.28.2)
Using Masonry (0.6.4)
Using SimpleKeychain (0.7.0)
Using TouchIDAuth (0.2.0)
Generating Pods project
Integrating client project
Sending stats
Pod installation complete! There are 4 dependencies from the Podfile and 5 total pods installed.

在我的Project > Build Settings > Other Linker Flags 我有:

lc++
$inherited
-ObjC

但是,当我将项目构建到物理 iPhone 时,每个 installed 依赖项都会出现此错误:

ld: warning: directory not found for option '-L/Users/dan/Library/Developer/Xcode/DerivedData/myapp-acmwajylejkvendtsdryuouwuvnl/Build/Products/Debug-iphoneos/AFNetworking'

【问题讨论】:

您的项目是否包含 .pch 文件?? 我的应用程序中没有 .pch 文件。 好的,你的 MAC 有什么操作系统? 更新您的操作系统。 我正在运行 OSX El Capitan 版本 10.11.6。 【参考方案1】:

建议:

更新后请打开 yourProject.xcworkspace 而不是 yourProject.xcodeproject

【讨论】:

作为没有iOS知识的人,是不是因为安装的Pods不包含在xcodeproject中,所以需要打开xcworkspace文件?【参考方案2】:

太好了,你必须更新你的操作系统才能流畅地支持 XCODE 8.2.1 及更高版本,有时它可以在旧操作系统中运行,我之前遇到过这个问题,我抓了两天的头发,然后我更新了我的操作系统及其得到修复。您必须更新您的操作系统才能修复它,否则将无法正常工作。

谢谢

【讨论】:

升级前,操作系统升级的目的是什么?我已经使用 XCode 8.2.1 大约 3 个月了,我之前使用过 cocoapods,这是我第一次遇到这个问题。 @Dan 浏览此链接support.apple.com/en-in/HT207536 并了解如何升级新操作系统和新功能。在一行中,我想引用“macOS Sierra 10.12.4 更新提高了 Mac 的稳定性、兼容性和安全性,建议所有用户使用。” 对稳定性、兼容性和安全性的改进如何帮助我确定我的应用为什么不能在 XCode 中构建? 无法识别问题,试试看,升级后会自动修复。关于“提高稳定性、兼容性和安全性”,这是苹果公司没有声称的,我发现自己通过升级操作系统解决了类似的问题。现在是你的选择..【参考方案3】:

我从 59 迁移到 React Native 61.5 后遇到了这个问题。Pods 的引入意味着我们需要从以下位置更改 CI (BitRise) iOS 构建命令:

xcodebuild "-project" "ios/AwesomeProject.xcodeproj" ...

到:

xcodebuild "-workspace" "ios/AwesomeProject.xcworkspace" ...

在本地通过 XCode 一切正常,只是看起来不够仔细,CI Pipeline 脚本。更改后,一切都解决了。

【讨论】:

以上是关于Xcode 链接器命令失败 - 找不到目录的主要内容,如果未能解决你的问题,请参考以下文章

链接器命令失败,退出代码1(使用-v查看调用)在xcode 10和ld:找不到-lFirebaseCore库

Xcode构建错误链接器命令失败,退出代码为1(使用-v查看调用)

链接器命令失败,退出代码为 1(使用 -v)

Xcode 返回链接器错误“找不到 -lFirebaseAuth 的库”

在架构 + 链接器命令中找不到符号失败,退出代码为 1

Xcode 链接器问题