2

我第一次尝试在实际项目中使用 Realm,并且我已经通过 Cocoapods 成功添加了它。我使用的是 Xcode 6.4,但在同一台机器上安装了 Xcode 7.1 beta(用于其他项目)。

尝试构建项目或运行单元测试(在模拟器上)时,我收到一个链接器错误,提示有数十对文件重复。看起来一个提到了Bitcode,一个没有。

我正在使用 Xcode 6.4 – 为什么它甚至知道 Bitcode?这是错误的一小部分示例:

duplicate symbol _llvm.cmdline in:
    /Users/me/Source/our-project-ios/Pods/Realm/core/librealm-ios.a(bptree-iPhoneSimulator-bitcode.o)
    /Users/me/Source/our-project-ios/Pods/Realm/core/librealm-ios.a(row-iPhoneSimulator-bitcode.o)
duplicate symbol _llvm.embedded.module in:
    /Users/me/Source/our-project-ios/Pods/Realm/core/librealm-ios.a(bptree-iPhoneSimulator-bitcode.o)
    /Users/me/Source/our-project-ios/Pods/Realm/core/librealm-ios.a(row-iPhoneSimulator-bitcode.o)
duplicate symbol _llvm.cmdline in:
    /Users/me/Source/our-project-ios/Pods/Realm/core/librealm-ios.a(bptree-iPhoneSimulator-bitcode.o)
    /Users/me/Source/our-project-ios/Pods/Realm/core/librealm-ios.a(spec-iPhoneSimulator-bitcode.o)
duplicate symbol _llvm.embedded.module in:
    /Users/me/Source/our-project-ios/Pods/Realm/core/librealm-ios.a(bptree-iPhoneSimulator-bitcode.o)
    /Users/me/Source/our-project-ios/Pods/Realm/core/librealm-ios.a(spec-iPhoneSimulator-bitcode.o)
duplicate symbol _llvm.cmdline in:
    /Users/me/Source/our-project-ios/Pods/Realm/core/librealm-ios.a(bptree-iPhoneSimulator-bitcode.o)
    /Users/me/Source/our-project-ios/Pods/Realm/core/librealm-ios.a(table-iPhoneSimulator-bitcode.o)
duplicate symbol _llvm.embedded.module in:
    /Users/me/Source/our-project-ios/Pods/Realm/core/librealm-ios.a(bptree-iPhoneSimulator-bitcode.o)
    /Users/me/Source/our-project-ios/Pods/Realm/core/librealm-ios.a(table-iPhoneSimulator-bitcode.o)
duplicate symbol _llvm.cmdline in:
    /Users/me/Source/our-project-ios/Pods/Realm/core/librealm-ios.a(bptree-iPhoneSimulator-bitcode.o)
    /Users/me/Source/our-project-ios/Pods/Realm/core/librealm-ios.a(table_view-iPhoneSimulator-bitcode.o)
duplicate symbol _llvm.embedded.module in:
    /Users/me/Source/our-project-ios/Pods/Realm/core/librealm-ios.a(bptree-iPhoneSimulator-bitcode.o)
    /Users/me/Source/our-project-ios/Pods/Realm/core/librealm-ios.a(table_view-iPhoneSimulator-bitcode.o)
duplicate symbol _llvm.cmdline in:
    /Users/me/Source/our-project-ios/Pods/Realm/core/librealm-ios.a(bptree-iPhoneSimulator-bitcode.o)
    /Users/me/Source/our-project-ios/Pods/Realm/core/librealm-ios.a(unicode-iPhoneSimulator-bitcode.o)
duplicate symbol _llvm.embedded.module in:
    /Users/me/Source/our-project-ios/Pods/Realm/core/librealm-ios.a(bptree-iPhoneSimulator-bitcode.o)
    /Users/me/Source/our-project-ios/Pods/Realm/core/librealm-ios.a(unicode-iPhoneSimulator-bitcode.o)
duplicate symbol _llvm.cmdline in:
    /Users/me/Source/our-project-ios/Pods/Realm/core/librealm-ios.a(bptree-iPhoneSimulator-bitcode.o)
    /Users/me/Source/our-project-ios/Pods/Realm/core/librealm-ios.a(utilities-iPhoneSimulator-bitcode.o)
duplicate symbol _llvm.embedded.module in:
    /Users/me/Source/our-project-ios/Pods/Realm/core/librealm-ios.a(bptree-iPhoneSimulator-bitcode.o)
    /Users/me/Source/our-project-ios/Pods/Realm/core/librealm-ios.a(utilities-iPhoneSimulator-bitcode.o)
duplicate symbol _llvm.cmdline in:
    /Users/me/Source/our-project-ios/Pods/Realm/core/librealm-ios.a(bptree-iPhoneSimulator-bitcode.o)
    /Users/me/Source/our-project-ios/Pods/Realm/core/librealm-ios.a(version-iPhoneSimulator-bitcode.o)
duplicate symbol _llvm.embedded.module in:
    /Users/me/Source/our-project-ios/Pods/Realm/core/librealm-ios.a(bptree-iPhoneSimulator-bitcode.o)

我见过其他人谈论类似的问题,但不是 Xcode 6.4,而不是简单地运行应用程序,而不是提交到商店。

我还应该指出,将 Realm 添加为静态框架(从xcode-6文件夹中0.95.3完美地工作,所以这似乎与我从 Cocoapods 获得的构建有关。

我可以在这里做什么?如果可能的话,我真的宁愿从 Cocoapods 得到它。

4

1 回答 1

3

根据您使用的 Xcode 版本,需要不同版本的 Realm 核心库,因此xcode-select在运行时激活相同版本非常重要,pod install因为您将使用该版本来构建项目。由于下载了 Xcode 7 版本的库,您可能已经激活了该版本的 Xcode。运行sudo xcode-select -s /Applications/Xcode.app/Contents/Developer(假设您安装了 Xcode 6;根据需要进行调整),删除Pods目录,然后重新运行pod install.

您可以检查您使用的 Xcode 版本xcrun swiftc -v

于 2015-10-14T15:08:34.443 回答