Ios 错误-链接器命令失败,退出代码为1

Ios 错误-链接器命令失败,退出代码为1,ios,iphone,cocoapods,Ios,Iphone,Cocoapods,我是XCode Mac和IPhone开发的新手。所以我可能遗漏了一些明显的东西 在尝试构建项目时,我收到以下警告和错误。我不知道这里出了什么问题,我已经查看了答案并检查了我的框架搜索路径值,而构建设置中没有 ld: warning: directory not found for option '-F/Users/macbook/Desktop/<app_name>__main/build/Release-iphoneos' ld: warning: directory not fo

我是XCode Mac和IPhone开发的新手。所以我可能遗漏了一些明显的东西

在尝试构建项目时,我收到以下警告和错误。我不知道这里出了什么问题,我已经查看了答案并检查了我的框架搜索路径值,而构建设置中没有

ld: warning: directory not found for option '-F/Users/macbook/Desktop/<app_name>__main/build/Release-iphoneos'
ld: warning: directory not found for option '-F/Users/macbook/Desktop/<app_name>__main/build/Debug-iphoneos'
ld: framework not found Pods_<app_name>
clang: error: linker command failed with exit code 1 (use -v to see invocation)

根据您的评论和构建日志,我相信podfile
Pods\ux)


如果您没有安装
pod
,您可以前往每个mac需要安装一次pod。
project.pbxproj
中设置的配置取决于计算机上的Cocoapods版本和Xcode版本

请尝试以下操作:

1-从本地项目中删除
Podfile.lock
文件和Pods文件夹

2-删除派生数据文件夹的内容:
~/Library/Developer/Xcode/DerivedData

3-运行命令:

pod deintegrate
4-运行命令

pod install

5-再次运行项目

Xcode对模拟器和真实设备有不同的构建系统。因此,它将为两者生成不同的应用程序。如果您选择任何模拟器目标,则它将为模拟器构建应用程序;如果您选择通用iOS设备或任何真实设备目标,则它将构建不同的构建

可能您正在使用一些为iOS设备构建的框架,所以 按照这个步骤,

  • 区分出现错误的框架,并从pod文件中删除该pod,然后运行
    pod install
    命令并删除DerivedData
  • 在您的系统中下载该框架的代码
  • 在工作区中添加框架的项目文件。对此,您可以参考和
  • 如果您不想在您的项目中添加整个框架代码,那么您可以在您的xcode项目中添加特定的(对于设备或模拟器)框架构建。 为此,请遵循以下步骤

  • 打开下载的框架项目
  • 选择任何模拟器目标和构建项目
  • 产品文件夹获取生成的
    .framework
    文件
  • 像这样在项目中添加此框架
  • 现在为模拟器构建您的项目
  • 如果要为设备生成,请遵循以上针对设备目标的步骤
  • 对于谷歌手机广告,您可以遵循指导原则。在项目的生成设置中将
    -ObjC
    链接器标志添加到其他链接器标志中


    我希望这对你有用。

    我曾经遇到过一次这个问题,但我已经用@alxlive-answer相同的方法解决了它,而且很有效

    问题发生在我身上是因为我们已经安装了吊舱

    在此期间,我已经为我的项目安装了cocoapod。然后,我添加了两个新的
    构建配置

    您的问题可能与此相同,因为您确实提到从其他系统复制其他
    project.pbxproj
    ,这使您的项目工作正常。所以情况可能就是这样


    通过
    deintegrate
    install
    将pod重新安装,这将解决问题。

    在其他链接器标志中添加-ObjC$(继承)修复了我的问题

    对于我来说,这是因为配置名称中有一个空格,如“Development Debug”。一旦我删除了空格并将其设置为“DevelopmentDebug”,错误消息就消失了。

    您是否尝试检查了
    嵌入的二进制文件
    链接的框架和库
    中是否列出了任何不需要的框架,在
    常规
    下没有嵌入的二进制文件,至于框架和库,它们都是合理的(尽管我不能肯定),我从一位辞职的同事那里继承了这个项目。我以前从未从事过任何苹果应用程序的开发,所以我几乎不知道到底发生了什么。不过,我在帖子中没有提到这一点。但是有两个框架在左侧文件夹/目录面板上显示为红色,即
    Foundation.Framework
    Pods\uuz.Framework
    。如果我选择了
    通用iOS设备
    ,则后者的颜色会正常化。请尝试删除Podfile.lock,然后更新pod准备好更新pod,但无效。将再试一次,并让您知道它是否有效。您是否尝试更新
    CocoaPod
    本身?如果不需要,请移除Pod。是的,我将cocoapods更新为最新的1.8.3版本,然后恢复到1.5.3版本。是的,问题仍然存在,运行
    Pod更新
    无效。据我所知,xCode版本可能要对此负责,您可以看到它运行的系统有xCode v10.3。或者它与将库链接到项目有关。感谢您的回答,我已经找到了一个排序解决方案(仍在寻找更好的方法)。但是在我找到解决方案之前,我试着删除了你提到的所有文件(可能有10次我没有骗你),删除它们没有任何帮助。谢谢你的回答。我尝试过多次删除派生数据,而不是一次。你看过问题了吗?我添加了一个适合我的解决方案。在解决方案中,我指出了一个特定的文件
    Pods\uuz.framework
    ,当删除该文件时,修复了该问题,但是正如问题中所述,该文件在每次
    pod安装后返回
    ,我必须再次删除该框架文件。目前我正在寻找一种不允许文件返回的方法。您还没有正确理解我的答案。我说移除特定的pod会给你一个错误。你能给我你的吊舱清单吗?我可以解决您的错误,因为我以前遇到过这个问题。我添加了
    podfile
    ,其中只列出了一个依赖项。
    -ObjC
    标志已存在于
    其他链接器标志中。以下是完整的说明
    -ObjC$(继承)
    。您是否遵循了?中的完整指导原则?正如我前面所说的,删除派生数据并取消集成po
    pod install