我正在尝试为我的IOS项目添加一个框架,但是当我构建时,我总是得到相同的消息:
ld:找不到框架Pods clang:错误:链接器命令失败,退出代码为1(使用-v查看调用)
我试图删除我的 Pods
目录,然后运行 pod install
我打开 .xcworkspace
就像它写在pod安装的日志中,我在xcode上清理项目,然后尝试构建,但它将无法正常工作..
我的podfile看起来像这样:
xcodeproj '/Users/guillaume/project/Mobile/iOS/FoodPin/FoodPin.xcodeproj'
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
use_frameworks!
pod 'SwiftHTTP', '~> 0.9.2'
我的xcode版本是 6.3.1
谢谢,
22 回答
我确实遇到过这个问题,因为我没有正确设置
platform
.所以在我的macOS应用程序中,我将平台设置为:
代替
这通常是由于打开.xcodeproj文件而不是.xcworkspace引起的 .
当您第一次运行“pod install”时,它将创建一个.xcworkspace文件,其中包含您原始的.xcodeproj和一个Pods项目 . 您需要关闭.xcodeproj并打开.xcworkspace .
这是通过Xcode的新项目向导创建项目时的常见问题 - 我经常忘记我不在工作区中,这是让Cocoapods正确链接所必需的 .
我遇到了类似的问题
通过删除以下内容解决了这个问题 . 转到 target OneSignalNotificationServiceExtension>构建阶段>链接二进制文件并删除 Pods_OneSignalNotificationServiceExtension.framework
希望这会有所帮助 . 干杯 .
我收到此错误是因为我重命名了我的项目并更改了pod文件中的项目名称,但我的项目是指旧的名称,但不存在导致此错误 . 我摆脱了这个
其次是
在我的情况下,在比较我知道正确 Build 的分支之间的差异后,我注意到我的Podfile中的这一行:
我无意中将我的目标版本从10升到11,而我在Xcode中的目标仍然设置为10.回到10解决了我的问题 .
确保正确设置目标iOS版本 .
这个问题让我发疯,因为它突然发生而没有对项目进行任何更改 . 我已经尝试了这个线程中的所有建议的解决方案(和其他相关的),但没有一个解决了这个问题 .
唯一不同于我的其他项目(编译得很好),是 this project name was containing an accent (法国口音,"é") . 我已经重命名了项目和所有相关文件,它终于奏效了!
也许这与更新到Xcode 10有关,因为这个项目之前工作得很好......
编辑:在项目名称中使用
-
项目时似乎也失败了...删除pod安装或更新后创建的框架文件夹
我通过删除位于
project navigator
的文件夹_357853中的红色.framework
文件清除了此错误 . 我认为这也会自动删除General
设置的Linked Frameworks and Libraries
部分中的相应红色条目 .我一直在清理/重新安装pods以解决另一个问题 . 也许这些红色框架文件和条目只是前一个pod安装的剩余部分?
我通过选择从
CocoaPods
下载并构建它的项目解决了这个问题,您可以单击管理方案,以便它可以出现在运行栏中 . 然后,您可以重建您的项目 . 希望它有所帮助 .在更新我的Podfile并进行pod更新后,这发生在我身上 .
出于某种原因,我有一个“Pods_ [ProjectName]”框架文件出现在我的项目下的“目标”>“常规”>“链接的框架和库”下 .
删除它然后清理/重建修复了问题 .
你应该删除你的项目一些文件作为这张图片 .
在文件夹
Pods
的Project Navigator
中,我的Pods.framework
在那里是红色的 . 它也出现在Linked Frameworks and Libraries
中 . 我删除了两个引用,错误消失了 .TL;DR
删除
Pods.framework
:名为
Pods
的文件夹Linked Frameworks and Libraries
如果您打开.xcworkspace文件但仍然遇到相同的错误:
谁找到这个问题 . 我正在使用NativeScript并得到了同样的错误 .
That happen becouse I opened the file .xcodeproj, but we must open the project by the file .xcworkspace.
只需从“您的项目 - >常规 - >链接的框架和库”列表中删除您的.framework .
解决我的问题的其他方法是在Target - > Build Settings - > Other linker Flags下删除“-framework”和你的框架“name” .
它发生在我试图移除一个吊舱 .
步骤1
第2步
第3步
第4步
您可能想要做的唯一事情是包括您之前使用的一些库 . 您可以通过简单地将pods文件夹中的任何文件夹拖放到项目中来实现此目的(我更喜欢将它们放入我的Supporting Files文件夹中) .
它对我有用 .
在我的情况下,我可以在设备和模拟器上构建它,但在归档时具有相同的错误 . 为了解决这个问题,我必须这样做
删除
Pods.framework
确保嵌入
Pods-<project-name>.framework
您将在TARGETS - > Linked Frameworks and中找到设置库 .
使用Xcode 8.3接受的答案并没有添加截图以便于清晰 . 出于某种原因,Xcode试图链接以前不再存在的podfile设置 . 我所要做的就是删除额外的引用,一切正常 .
Xcode 9 or 10
安装https://github.com/CocoaPods/cocoapods-deintegrate
然后
你很可能试图让pod进入你的项目吗?唯一的方法是创建一个使用CocoaPods的独立项目 .
关闭您正在使用的所有工作空间 .
接下来,确保您的Podfile完全准备就绪 .
在命令行中,无论文件位于何处,请键入以下命令:
然后,安装你的pod agian .
现在,您可以使用项目的新工作区进行开发 . 查找名为.workspace的文件 . 使用该文件!
这是使用CocoaPods的指南
删除和更新pod后我仍然有同样的问题 .
我提出了这个问题 . 我是've found that previous developer put flag in ' Build Settings -> Other Linker Flags ' with Framework name (in my case -framework ' OGVKit') .
删除该标志后,项目正确构建 .