Apple Mach -O连接器命令失败

随机问题正在发生

更新我的POD安装后,Xcode发现了一个新问题:

确保在使用窗格时打开.xcworkspace文件而不是项目文件( .xcodeproj )。 这应该解决与链接的问题。

有时候你需要干净的构build。 它帮助了我。 要清洁生成去产品 – >清洁

有几种情况导致此问题。 目前,这个问题没有任何接受的答案,我也find了同样的问题的另一个解决scheme,我在这里张贴我的答案/经验。

在你的应用程序中,转到目标 – >构build设置,然后你会发现以下属性。

  • CLANG_WARN_INFINITE_RECURSION
  • CLANG_WARN_SUSPICIOUS_MOVE
  • GCC_NO_COMMON_BLOCKS

将这些值设置为NO,然后清理并构build项目。

以下步骤帮助我摆脱了这个问题:

  1. 转到项目path并删除Pods文件夹和Podfile.lock文件。
  2. 使用“pod install”命令重新安装pod。
  3. 打开xcworkspace并在运行前清除它。

希望它能为我节省一些时间。

closures你的项目,进入项目path,用.xcworkspace而不是.xcodeprojselect你的项目。 原因你的现有项目不包含你链接的任何图书馆。

SS

从目标中删除WikitudeSDK的本地文件。 Xcode在图书馆的path,哪一个selectpod或本地之间混淆。

也尝试重新安装podfile并从pod文件中删除wikitude。 在链接器searchpath设置中,在构build设置中,检查提到的path以find所需的库。

最后在更新pod之前安装gem

我得到了像“variables名”重复相同的错误。 您需要检查所有.m文件的所有variables和函数名称,并确保它与其他文件不同。然后清理并构build。

它为我工作。

你必须检查链接二进制库选项。 有时候你build立了一个不在你的项目中的pod。

在左侧面板上点击你的项目名称,然后在目标再次(点击名称),然后build立阶段>链接二进制文件 。 删除你不使用的一切。

我有一个类似的问题,我只需要确保启用“复制如果需要”checkbox添加到项目中的框架。 参考只是没有为我工作…

我不知道为什么错误发生在我的情况下,我正在重复使用一些我之前创build的项目中的一些代码,在我修改代码之后,我总是得到“Apple Mach -O连接器命令失败” – 消息。 我最好的猜测是,这是因为我创build/删除了项目中的一些文件。

为我解决这个问题的是这样的:

  • 创build一个新的项目
  • 将旧项目中的所有必要文件复制到新项目(拖放,不要忘记“如果需要复制”checkbox)
  • build立并看到它的作品

听起来很愚蠢,我不知道为什么,但它的工作。

对我来说,解决scheme是打开位于我的“/ platforms / ios”文件夹内的.xcodeproj的.xcworkspace文件。

我正在使用XCode编译离子3应用程序。

 cli packages: (/usr/local/lib/node_modules) @ionic/cli-utils : 1.10.1 ionic (Ionic CLI) : 3.10.1 global packages: Cordova CLI : 7.0.1 local packages: @ionic/app-scripts : 2.1.4 Cordova Platforms : android 6.2.3 ios 4.5.0 Ionic Framework : ionic-angular 3.6.0 System: ios-sim : 5.0.8 Node : v8.4.0 npm : 5.4.0 OS : OS X Yosemite Xcode : Xcode 7.2 Build version 7C68 

在ios的大部分文件中没有写权限,这是主要的问题。
我只是改变了ios文件的权限,并通过命令解决了问题。

 sudo chmod -R 775 platforms/ios/ 

工作很好。

覆盖项目时遇到错误。

之后仍然遇到错误:

  • 改变铛设置

  • 离子cordova平台删除ios而不是在每个新build立之前删除ios平台文件夹(当然,再次添加平台)

  • 更新ruby按照说明: https : //forum.ionicframework.com/t/x-code-8-beta-2-apple-mach-o-linker-id-error/71998

在更改为github中的其他分支之后,错误被解决了,但也许其他故障排除方法中的一个起了作用。 现在所有的分支都运行在没有Mach-Linker错误的xcode上。

首先你要做的是删除/Users/Yourname/Library/Developer/Xcode/DerivedData/YourAppName-xxxx ,然后重新启动你的Xcode。 这不是开玩笑!

如果出现“重复symbol_OBJC_CLASS _ $ _ Pod in:”的错误,您应该转到TARGETS-> Build Phases-> Compile Sources并删除额外的文件。