当我试图构建一个iOS应用程序时,我得到这些错误。

ld: library not found for -lPods
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Ld /Users/Markus/Library/Developer/Xcode/DerivedData/Totalbox-clpeqwpfvwuhpleeejnzlavncnvj/Build/Products/Debug-iphonesimulator/Totalbox.app/Totalbox normal x86_64
cd /Users/Markus/Development/xcode/totalbox-ios
export IPHONEOS_DEPLOYMENT_TARGET=7.1
export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch x86_64 -isysroot 
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.1.sdk -L/Users/Markus/Library/Developer/Xcode/DerivedData/Totalbox-clpeqwpfvwuhpleeejnzlavncnvj/Build/Products/Debug-iphonesimulator -F/Users/Markus/Library/Developer/Xcode/DerivedData/Totalbox-clpeqwpfvwuhpleeejnzlavncnvj/Build/Products/Debug-iphonesimulator -filelist /Users/Markus/Library/Developer/Xcode/DerivedData/Totalbox-clpeqwpfvwuhpleeejnzlavncnvj/Build/Intermediates/Totalbox.build/Debug-iphonesimulator/Totalbox.build/Objects-normal/x86_64/Totalbox.LinkFileList -Xlinker -objc_abi_version -Xlinker 2 -ObjC -framework CoreGraphics -framework Foundation -framework MobileCoreServices -framework QuartzCore -framework Security -framework SystemConfiguration -fobjc-arc -fobjc-link-runtime -Xlinker -no_implicit_dylibs -mios-simulator-version-min=7.1 -framework CoreGraphics -framework UIKit -framework Foundation -lPods -Xlinker -dependency_info -Xlinker /Users/Markus/Library/Developer/Xcode/DerivedData/Totalbox-clpeqwpfvwuhpleeejnzlavncnvj/Build/Intermediates/Totalbox.build/Debug-iphonesimulator/Totalbox.build/Objects-normal/x86_64/Totalbox_dependency_info.dat -o /Users/Markus/Library/Developer/Xcode/DerivedData/Totalbox-clpeqwpfvwuhpleeejnzlavncnvj/Build/Products/Debug-iphonesimulator/Totalbox.app/Totalbox

在构建设置中的PODS ROOT:

${SRCROOT}/Pods

我没有创建这个Xcode项目-只是从git中取出它来检查。


当前回答

在将部署目标从7.0升级到8.0并启用use_frameworks后,出现了同样的问题!

cocoapods没有删除之前生成的PodName。我的项目的框架部分的文件。

所以我必须手动删除这些,因为它们导致了链接错误

其他回答

在花了半天时间之后,我发现了我的问题。由于一些依赖关系,我将部署目标从10提升到12.1。我更新了项目部署目标和所有的pod。

我刚刚发现在目标级别上也有一个部署目标。升级到12.1后,我的项目再次构建。

“项目”的部署目标

子文件:

“目标”的部署目标:

对我来说,这是可行的。我已经将我的应用程序名称从someApp更改为otherApp。我正在使用可可豆荚进行多个第三方服务集成。因此,由于添加了2 libPod文件(因为我已经更改了应用程序的名称和目标)。最后我不得不删除一个libPod。这招奏效了。

目标->构建阶段->链接二进制库

以上答案都不能解决我的问题。

我所做的是在目标部分之外运行pod install命令。例如:

#WRONG
pod 'SOMEPOD'

target "My Target" do
    pod 'OTHERPODS'
end

我迅速修复了它,并将错误的pod返回到它所属的目标部分,并再次运行pod安装:

# CORRECT
target "My Target" do
    pod 'SOMEPOD'
    pod 'OTHERPODS'
end

但与此同时发生的是,lib -libPods。a被添加到我的链接库,它已经不存在了,也不应该存在,因为已经有-libPods-My Target。A在里面。

所以解决方案是进入我的目标的通用设置,找到链接框架和库,然后删除-libPods。从名单上选A。

如果有人在使用Cocoapods安装react-native-fbsdk后来这里解决错误,请记住,你必须在项目构建阶段删除所有其他的.a文件,只保留Cocoapods中名为libPods-WhateverAppName.a的.a文件。

这通常是由运行rnpm link和rnpm的工作方式引起的。

在我从构建阶段删除facebook core .a文件后,我的项目再次启动并运行。

在General中检查部署目标,然后转到pod文件中查看

平台:ios, '11.0'

这个11.0在部署目标中应该是相同的