我试图在我的IOS项目中添加一个框架,但当我构建时,我总是得到相同的消息:

ld:框架没有找到Pods Clang:错误:连接器命令失败,退出码为1(使用-v查看调用)

我试图删除我的pod目录,然后运行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

谢谢你!


当前回答

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

platform :ios, '11.0'

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

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

其他回答

我的解决方案是

删除实际上通过pods删除,仍然产生错误 其他链接标志(在部分链接中) 关闭Xcode,然后运行pod update 重新打开Xcode,然后在菜单中运行Product > Clean Build Folder

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

之前的回答都没有指出问题的根源。 所以我希望这对其他人有用。

在我的情况下,我最终不得不在我的项目的根编辑我的podfile。当我第一次创建我的podfile时,swift静态库不受支持。 所以我一直在使用use_frameworks!在我的播客文件下,我的每个目标如下:

之前

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

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

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

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

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

步骤1

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

步骤2

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

步骤3

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

第四

删除Pods.framework。

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

这对我很管用。

我有一个类似的问题

framework not found Pods_OneSignalNotificationServiceExtension

它通过删除以下内容得到解决。去目标OneSignalNotificationServiceExtension > Build Phases > Link Binary with Libraries并删除Pods_OneSignalNotificationServiceExtension.framework 希望这能有所帮助。欢呼。

请检查你的可执行文件。框架

可执行文件的名称应该是这样的,没有任何扩展名。 有些框架是这样显示的 使用Terminal goto .framework目录使用以下命令 FrameworkName-armv7 FrameworkName-armv7s FrameworkName-i386

创建单个可执行文件后,删除该文件