链接器命令失败,退出代码为 1 - 重复符号 __TMRbBp

Linker command failed with exit code 1 - duplicate symbol __TMRbBp

自从我更新到 Xcode 8.1 后,我无法存档,也无法在发布模式下 运行(在调试模式下正常工作)。错误是有几个"duplicate symbols for architecture arm64",都是"duplicate symbol __TMRbBp"。那是什么?

这似乎是 Swift 中的错误。看 discussion on Apple developers portal

据说在即将发布的Xcode版本中已经修复。 但目前有临时解决方法:

转到目标 Build Settings 并将 Reflection Metadata Level 标志设置为 None

不要双击 Project.xcodeproj 来启动您的 xcode 项目。相反,关闭您的项目并打开 xcworkspace。

File -> Close Workspace

File -> Open -> Search your project folder for Project.xcworkspace

我所有的错误都消失了。

对于那些无法让 Thorax 的答案起作用的人,我所做的是在我的命令行上关闭 Xcode、运行 pod update,然后重新打开 . xc 工作区文件。这样做之后,我就可以构建并 运行 项目了。

我正在使用 Firebase Cocoapod 和 Xcode 版本 9.1。

我在 9.2 版(9C40b)中遇到了类似的问题,解决方案是

0) Close Xcode
1) Open project folder in terminal
2) pod update
3) open .
4) open project by clicking Project.xcworkspace

令人惊讶的是,在某些情况下,简单地清洁产品对我来说很管用。

  • Product/Clean (Shift+Cmd+K)
  • Product/Clean 构建文件夹 (Alt+Shift+Cmd+K)

在查看其他解决方案之前尝试快速修复。

1.关闭你的项目:完全退出Xcode。 2.转到您的项目位置:您会在根文件夹中找到两个具有不同扩展名的文件: Appname.xcodeprojAppname.xcworkspace

现在双击扩展名为 xcworkspace.(***Appname.xcworkspace*) 的文件打开您的项目**

您的项目将在 xcode 后打开。 现在 运行 又是您的项目。

如果您在安装 pods 时仔细观察,firebase 会明确使用 your-project.xcworkspace 打开您的项目 安装后 pods firebaseIOS Setup

 $ cd your-project directory
 $ pod init

添加到 Podfile

豆荚'Firebase/Core'

最后:

    $ pod install
    $ open your-project.xcworkspace

别忘了将 firebase 添加到您的 AppDelegate

我在 Xcode 8.1.

上存档时遇到了同样的问题

X代码版本:8.2.1版(8C1002)

以下修复于 2019 年 3 月生效

1) 转到项目 & Select 你的项目

2) Select 构建设置 -

Search for "Enable Bitcode" Set option as "NO"

3) 大多数版本都会修复这个问题,对于少数其他 XCode 版本也可以尝试这个选项,

Search for "Reflection Metadata Level" Set option as "NONE"

我 运行 最近创建了一个新项目并向该项目添加了一些 pods (特别是 AlamoFire)。麻烦几个小时左右重新创建项目(它是新的)几次。尝试了这里的所有方法,但没有成功。

最终我发现这是因为当我通过命令行 "open myProject.xcworkspace" 打开工作区时,XCode V10.1 也在打开旧项目文件以及新的 pod 创建的工作区我在完成 "pod install"

后重新打开了项目

在退出之前关闭所有项目 XCode 在我完成 "pod install" 之前为我修复了所有问题。

如果您使用的是 Ionic 以及 Push 和 Console 插件,那就是问题所在。删除 cordova 控制台插件(已弃用),错误将消失。

链接器错误说库是重复的,事实上,这是真的,因为控制台插件已经在 cordova-ios 4.5+

我花了几个小时才弄明白!

关闭你的项目然后打开 xcode 转到文件 -> 打开搜索你的项目并打开它。这对我有用

由于删除了一些文件,我收到了这个错误。对我来说,只需克隆我的项目就可以了。

我在目标的构建阶段从编译源中删除了文件。我添加了 main.m 并且有效。

以我为例

  1. Select 你的项目(在我的例子中我有 2 个目标)
  2. 转到构建阶段
  3. 编译源代码
  4. 检查每个目标上的物品数量是否相同(我的不一样)
  5. 添加丢失的文件/删除重复的文件

问题已解决

在 Xcode 10.1 中遇到了同样的问题并且能够解决它。在路径 Project Target > Build Setting > No Common Blocks 中,我将其更改为 No.

我在向我的项目添加框架时遇到了类似的问题。

我通过删除框架并通过将框架文件拖放到项目框架文件夹并选择“需要时复制项目”选项再次将框架添加到项目中解决了这个问题。