ld:框架没有找到Pods

我试图在我的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

谢谢你!

248121 次浏览

Project Navigator文件夹Pods中,我有一个Pods.framework,它是红色的。它也出现在Linked Frameworks and Libraries中。我删除了这两个引用,错误就消失了。

博士TL;

删除Pods.framework在:

  • 文件夹名为Pods
  • Linked Frameworks and Libraries

我通过删除位于project navigator中的Frameworks文件夹中的红色.framework文件来清除此错误。我认为这也自动删除了General设置的Linked Frameworks and Libraries部分中相应的红色条目。

我一直在清理/重新安装吊舱,以解决另一个问题。也许这些红色的框架文件和条目只是从以前的pod安装剩下的?

这通常是由于打开的是.xcodeproj文件而不是.xcworkspace。

当你第一次运行'pod install'时,它会创建一个.xcworkspace文件,其中包括你原来的.xcodeproj和一个Pods项目。您需要关闭.xcodeproj并打开.xcworkspace。

当通过Xcode的新项目向导创建项目时,这是一个常见的问题——我经常忘记我不是在工作空间中,这是让Cocoapods正确链接所必需的。

步骤1

你需要做的第一件事是删除Podfile, Podfile。锁、Pods文件夹和生成的工作区。

步骤2

接下来,在.xcodeproj中,删除对Pods的引用。xcconfig文件和libPods。一个文件。

步骤3

在Build Phases项目选项卡中,删除Check Pods清单。锁定部分(打开),复制Pods资源部分(底部)和嵌入Pod资源(底部)。

第四

删除Pods.framework。

您唯一要做的就是包含您以前使用过的一些库。你可以通过简单地将pods文件夹中的任何文件夹拖到你的项目中(我更喜欢将它们放在我的Supporting Files文件夹中)来做到这一点。

这对我很管用。

在我的情况下,我可以在设备和模拟器上构建它,但存档时有相同的错误。为了解决这个问题,我必须

  • 删除Pods.framework
  • 确保Pods-<project-name>.framework被嵌入

你会在TARGETS——>链接框架和库中找到设置。

谁发现了这个问题。我正在使用NativeScript,得到了同样的错误。

这是因为我打开了文件.xcodeproj,但我们必须通过文件.xcworkspace打开项目。

我通过选择从CocoaPods下载的项目并构建它来解决这个问题,您可以单击管理方案,以便它可以出现在运行栏中。然后可以重新构建项目。希望能有所帮助。

这发生在我更新我的Podfile和做pod更新后。

出于某种原因,我有一个“Pods_[ProjectName]”.framework文件出现在我的项目下的“目标”>一般>链接框架和库。

删除这个,然后清理/重建修复了这个问题。

你应该把你的项目删除一些像这张图片那样的文件。

your should delete the pods.framework and pods mark red files .

使用Xcode 8.3,接受的答案并不适合我。我尝试过许多其他的解决方案,但@Elliott Davies的答案为我解决了这个问题。为了清晰起见,我添加了一个截图。出于某种原因,Xcode试图链接以前不存在的podfile设置。我所要做的就是删除额外的引用,然后一切都工作了

只需从“您的项目->通用->链接框架&库”。

Xcode 9,10,11,11.5

安装https://github.com/CocoaPods/cocoapods-deintegrate

pod deintegrate

然后

pod install

在删除和更新pod后,我仍然有同样的问题。

我发现以前的开发人员把标志放在'构建设置->其他链接标志'框架名称(在我的情况下-框架'OGVKit'),这使得问题。

删除该标志后,项目将正常构建。

我有一个类似的问题

framework not found Pods_OneSignalNotificationServiceExtension

它通过删除以下内容得到解决。去目标 OneSignalNotificationServiceExtension > Build Phases > Link Binary with Libraries and deleting Pods_OneSignalNotificationServiceExtension.framework 这里应该是空的。 < / > 希望这能有所帮助。欢呼。< / p >

你更有可能试图让豆荚工作到你的项目中,对吗? 做到这一点的唯一方法是创建一个使用CocoaPods的单独项目。< / p >

关闭您正在使用的所有工作空间。

接下来,确保你的Podfile已经完全准备好了。

在命令行中,不管你的文件在哪里,键入命令:

pod deintegrate

然后,再次安装吊舱。

pod install or pod update

现在您可以使用项目的新工作区进行开发。寻找一个名为.workspace的文件。使用那个文件!

下面是使用CocoaPods的指南

如果您打开.xcworkspace文件,仍然得到相同的错误,删除Pods目录的所有内容,并从命令行写入pod install来解决问题。

删除pod安装或更新后创建的frameworks文件夹

我得到这个错误,因为我重命名了我的项目,并在pod文件中更改了项目的名称,但我的项目引用的是旧的名称,不存在,导致这个错误。我用

pod deintegrate

紧随其后的是

pod install

我确实遇到过这个问题,因为我没有正确设置platform

所以在我的macOS应用程序中,我将平台设置为:

platform :ios

而不是

platform :osx

解决我的问题的另一件事是在目标->构建设置->其他链接器标志下,删除“-框架”和你的框架“名称”。

我试图取出一个豆荚时发生的。

这个问题快把我逼疯了,因为它突然发生了,却没有对项目做任何改变。我已经尝试了这篇文章(以及其他相关文章)中所有建议的解决方案,但没有一个能解决问题。

与我的其他项目(编译良好)唯一不同的是此项目名称包含重音(法国口音,“é”)。我重命名了项目和所有相关文件,它终于工作了!

也许这与更新到Xcode 10有关,因为这个项目在…

编辑:在项目名称中使用-的项目时,它似乎也失败了…

以我为例,在比较了我所知道的正确构建的分支之间的差异后,我注意到Podfile中的这一行:

platform :ios, '11.0'

我无意中将目标版本从10提升到11,而Xcode中的目标版本仍然设置为10。恢复到10为我解决了我的问题。

确保正确设置了目标iOS版本。

我通过将.framework文件拖到链接框架和库 . xml文件中来解决这个问题

假设我有这个问题,由于错误FIRAnalyticsConnector not found,我只是拖动FIRAnalyticsConnector.framwork文件到链接框架和库和我的问题解决了

这就是我解决问题的方法。当我写下这个答案时,它就可以工作了

首先,我尝试了上面所有最固定的方法,

在目标的构建阶段从链接库和框架中删除Pods_xxx.framework是有帮助的,这个问题将会消失,但接下来的问题是我不能再导入pod .framework了。

然后,我尝试重新安装xcworkspace配置,这样我就可以找出真正的问题。所以我跑了

pod deintergate

然后重新安装我的吊舱:

pod install

这个工作很好,但问题仍然在那里,但我发现真正的问题是pods_xxx . frameworks没有被cocoapods构建脚本成功编译。我认为这才是解决问题的真正方法。

最后,我尝试编辑我的项目方案:

Pods scheme is not in edited

并在管理中加入Pods方案:

enter image description here

然后单独构建这个pod .framework,你会发现pod .framework图标又变成了true:

enter image description here

,我认为现在你已经修复了“框架找不到Pods_xxxx.framework”问题 但实际上我有另一个问题:

enter image description here

所以我去构建设置,用"${inherited}"编辑"Framework Search Path"现在所有的问题都解决了,欢呼!!!!:)

enter image description here

我试了这里所有的答案,没有一个能答对。我最终通过将部署目标从10.0提升到11.0来让它工作。我不知道为什么会修复它,但我怀疑这与升级到Xcode 10.2.1有关。

也许您突然打开了错误的.xcodprj文件,应该打开.xcworkspace

请检查.Framework中的可执行文件,如enter image description here

  1. 可执行文件的名称应该是这样的,没有任何扩展名。

  2. 一些框架显示如下:enter image description here

  3. Using Terminal goto .framework目录use below命令 lipo -create FrameworkName-x86_64 FrameworkName-armv7 FrameworkName-armv7s FrameworkName-i386 FrameworkName-arm64输出FrameworkName

创建一个可执行文件后,删除这个文件enter image description here

对我来说,问题在于改变部署目标。我把它改成了9.0+,但改成了11.0+。

这发生在我身上,因为我改变了General中的Deployment Target,但忘记改变Pods > General中的Deployment Target更改部署目标 < / p >

另一个很棒的事情是使用此规则禁用输入&CocoaPods脚本阶段的输出路径(复制 框架,拷贝资源):

 install! 'cocoapods',
:disable_input_output_paths => true

在我的例子中,有一个引用到我删除的库

目标>构建设置>运行路径搜索路径

从Podfile中删除库并更新它显然没有删除它,所以我必须手动执行,现在一切都正常了。

前面的答案都没有指出我的情况的根本问题。 所以我希望这可能对其他人有用 在我的情况下,我最终不得不编辑我的podfile在我的项目的根。当我第一次创建我的podfile时,swift静态库不受支持。 所以我一直在我的podfile下使用use_frameworks!在我的每个目标如下:

之前

...
target 'targetName' do
use_frameworks!
pod 'podName', '~> 0.2'
end

...
target 'targetName' do
pod 'podName', '~> 0.2'
end

我从我的podfile中删除了use_frameworks!,每次我运行pod install时,它都在安装框架。在删除这一行之后,确保再次运行pod install,并从Xcode中的Frameworks文件夹中删除任何红色的.framework引用。(尽管我的观点不同,如下所示。)

删除不再需要的.framework文件的图像

你也可以阅读更多关于use_framework! 在这里的内容。

在我的情况下,我在安装pods之前创建了工作空间,所以当我安装pods时,工作空间只包括我的项目,将pods项目添加到您的工作空间,清理和重建解决了我的问题

我已经解决了这个问题。

删除这三个文件。

  1. Podfile.lock
  2. 豆荚文件夹
  3. .xcworkspace

然后在终端中打开你的项目,运行pod deintegrate命令,然后运行pod install命令

(Xcode 11.2.1)

对我来说,这是不同的应用程序目标版本在Podfile(platform :ios, '11.0')和Xcode项目文件Xcode部署信息

导致CI管道归档作业失败。

匹配两个值修复了一个问题!希望这对大家有所帮助。

在我的情况下,我的问题是:UserMessagingPlatform.xcframework . ld: framework not found

对我来说,解决方案如下:

  1. 打开一个finder窗口,找到ios文件夹
  2. 寻找以下文件:

豆荚-[你的项目名称].release.xcconfig

豆荚-[你的项目名称].debug.xcconfig

enter image description here

  1. 打开这些文件并删除以下文本:框架“UserMessagingPlatform.xcframework"在两个文件中
  1. 圆荚体初始化
  2. 关闭当前xcode项目
  3. 以xcworkspace后缀重新打开xcode项目

enter image description here

对我来说,问题是在我的主项目中,构建设置Build Active Architecture Only被设置为NO,而在Pods项目中,它被设置为YES

在将两者设置为相同之后,它工作了!

对于我来说, 我遇到这个问题是因为我在项目名称中使用了非英文字符

当我改变项目名称并再次运行install pod时,问题解决了。

我用step ->转到目标的构建设置,并编辑“框架搜索路径”;${inherited}",现在问题是FBLPromises.framework没有找到。

我从我的项目中删除一些豆荚后也有同样的问题。 首先,我使用了pod deintegrate,之后在终端中使用了pod install,但不适合我。 所以我去到我的项目Build SettingOther Linker Flags选项中的第二步,我发现删除的框架没有被删除,所以我手动删除了它们

我的解决方案是

  1. 删除 实际上通过pods删除,仍然生成错误 框架在Xcode 目标比;Build Settings >其他链接标志(在节链接)

  2. 关闭Xcode,然后运行豆荚更新

  3. 重新打开Xcode然后在菜单中运行产品比;清洁构建文件夹

之后,我的项目再次运行和编译!

在我的情况下,只要删除Pods文件夹并运行pod install就解决了这个问题。

在我的情况下,我在pod文件中添加了新的pod条目,使用双引号(pod "xposd"),这导致了问题。就像pod文件中的(pod' xpod')一样。