Xcode 9 - 链接器命令失败,退出代码为1

时间:2017-10-03 08:37:50

标签: ios xcode

编译应用程序时会出现以下错误

"使用旧版本的Swift语言(3.0)编译,而不是以前的文件(4.0)文件"

你能帮我吗?

8 个答案:

答案 0 :(得分:15)

使用xcworkspace而不是xcproject进行构建吗?

这通常在使用Cocoapods时发生,并且您是在不了解cocoapod库的xcproject中构建的。

答案 1 :(得分:8)

删除派生数据并执行干净构建。

如果您正在构建框架,请确保在Generic IOS Device中构建或将Build for Active Architecture only设置为true时选择Build Settings

答案 2 :(得分:3)

我认为发生这种情况是因为您更改了应用名称或目标名称

要解决此问题,请在Podfile中查看目标

,然后返回目标中的xcode 选择您的目标应用,然后在链接的框架和库(最后一个向下)中查看是否有 任何 pod ,其颜色为浅色,并且名称与Podfile中的目标名称不同 并使用向下的减号按钮将其删除。

答案 3 :(得分:0)

我宁愿解决特定的问题,但如果没有其他答案可以解决,那么完全重置即可解决。如果您遇到此错误,并且还收到引用“重复符号文件”的错误读数,并且所有其他尝试都失败了,则完全重置可能对您有用。

对我有用的东西

  1. 阅读错误报告,以识别可能包含重复文件的存储库。
  2. 将存储库拖到垃圾箱。
  3. 重新克隆您的存储库。
  4. 使用正确的远程跟踪设置您的存储库。 git remote add <url.git>git remote set-url <url.git>

这绝对对我有用。对于我来说,出于某种难以理解的原因,当我为本地依赖项运行git pull upstream develop时,git会从多个提交中提取/生成重复文件。

按照上述步骤操作后,问题消失了,git pull upstream develop不再一次退出多个提交。也许我的仓库有一个奇怪的git缓存。

答案 4 :(得分:0)

我可能对您来说很晚,但对于将来遇到问题的开发人员来说……

如果您一直在操作Podfile或创建新目标,或者可能更改了其中任何一个的名称,请检查在构建阶段选项中您是否具有正确的Pod框架作为目标名称。

答案 5 :(得分:0)

我在代码库中有文件的两个副本。删除一个副本有助于代码成功构建

答案 6 :(得分:0)

如果有吊舱 首先清理项目并关闭Xcode,然后打开终端并转到Project的文件夹,然后pod update 打开项目并运行 就我而言!

答案 7 :(得分:0)

我今天通过使用与测试目标的“构建设置->捆绑加载程序”设置中命名的捆绑文件关联的目标在模拟器中运行应用程序来解决此问题。以前,我在工作于与产品名称与测试目标捆绑包文件相关的产品名称不同的其他目标时删除了我的派生数据文件夹。在模拟器中重新运行该应用程序必须已在测试目标正在寻找的派生数据文件夹中重新创建了捆绑文件,然后我的测试开始正常运行。