【发布时间】:2016-02-05 18:49:31
【问题描述】:
【问题讨论】:
标签: ios xcode xcode6 linker-errors duplicate-symbol
【问题讨论】:
标签: ios xcode xcode6 linker-errors duplicate-symbol
确保在使用 pod 时打开 .xcworkspace 文件而不是项目文件 (.xcodeproj)。这应该可以解决链接问题。
【讨论】:
有时您只需要干净的构建。它帮助了我。 要清理构建,请转到 Product -> Clean
【讨论】:
有几种情况会导致此问题。目前,这个问题没有任何可接受的答案,我也找到了针对同一问题的另一个解决方案,我在这里发布我的答案/经验。
在您的应用程序中,转到 Target -> Build Settings,然后您将找到以下属性。
将这些值设置为 NO,然后清理并构建项目。
【讨论】:
GCC_NO_COMMON_BLOCKS 并没有找到那个设置,只是在Build Settings中搜索common blocks
以下步骤帮助我摆脱了这个问题:
希望它能像我一样节省别人的时间。
【讨论】:
从目标中删除 WikitudeSDK 的本地文件。 Xcode 对库的路径感到困惑,选择 pod 还是本地。
还可以尝试重新安装 podfile 并从 pod 文件中删除 wikiitude。 在链接器搜索路径设置中,在构建设置中,检查提到的路径以找到所需的库。
在更新 pod 之前最后安装 gems
【讨论】:
您必须选中 Link Binary With Libraries 选项。有时您构建的 pod 不再包含在您的项目中。
在左侧面板上单击您的项目名称,然后再次在 Targets 下(单击名称),然后Build Phases > Link Binary With Files。删除所有不使用的内容。
【讨论】:
已解决 - 最佳方式
pod deintegrate
pod install
在运行前打开 xcworkspace 并清理它。
【讨论】:
我遇到了类似“变量名”重复的错误。您需要检查所有 .m 文件的所有变量和函数名称,并确保它在任何其他文件中都不相同。然后清理并构建。
它对我有用。
【讨论】:
我的解决方案是打开位于我的“/platforms/ios”文件夹中的 .xcodeproj 的 .xcworkspace 文件。
【讨论】:
我遇到了类似的问题,我只需要确保在将框架添加到项目中时启用“必要时复制”复选框。仅供参考对我不起作用...
【讨论】:
我不知道为什么会在我的情况下发生错误,我正在重用我前一段时间创建的另一个项目中的一些代码,在我修改了代码之后,我总是得到“Apple Mach -O Linker command failed”-信息。我最好的猜测是,它的发生是因为我从项目中创建/删除了一些文件。
为我解决了这个问题:
听起来很愚蠢,我不知道为什么,但它奏效了。
【讨论】:
我正在使用 XCode 编译 ionic 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/
效果很好。
【讨论】:
我在覆盖项目时遇到了错误。
之后仍然遇到错误:
更改 clang 设置
ionic cordova platform 删除 ios 而不是在每次新构建之前删除 ios 平台文件夹(当然还要再次添加平台)
按照说明更新 ruby:https://forum.ionicframework.com/t/x-code-8-beta-2-apple-mach-o-linker-id-error/71998
在更改到 github 中的不同分支后,错误得到了解决,但可能是其他故障排除方法之一发挥了作用。现在所有分支都在 xcode 上运行,没有 Mach -O 链接器错误。
【讨论】:
我也遇到过同样的问题。我声明了两个同名的类。因此它与类名冲突。更新类名后它对我有用。
【讨论】:
您要做的第一件事是删除其中的文件
/Users/Yourname/Library/Developer/Xcode/DerivedData/YourAppName-xxxx
然后重新启动您的 Xcode。这不是开玩笑!
如果您收到类似“duplicate symbol_OBJC_CLASS_$_Pod in:”的错误, 你应该去 TARGETS->Build Phases->Compile Sources 并删除额外的文件。
【讨论】: