【问题标题】:"Undefined symbols for architecture x86_64:" Error with Branch.io“架构 x86_64 的未定义符号:”Branch.io 错误
【发布时间】:2016-05-31 05:31:30
【问题描述】:

我正在尝试在我的 iOS 应用程序中使用 Branch.io iOS SDK,但在尝试编译时出现以下错误:

架构 x86_64 的未定义符号:
“_OBJC_CLASS_$_CSSearchableIndex”,引用自: BranchCSSearchableItemAttributeSet.o "_OBJC_CLASS_$_CSSearchableItem" 中的 objc-class-ref,引用自: BranchCSSearchableItemAttributeSet.o "_OBJC_CLASS_$_CSSearchableItemAttributeSet" 中的 objc-class-ref,引用自: BranchCSSearchableItemAttributeSet.o中的_OBJC_CLASS_$_BranchCSSearchableItemAttributeSet.o
“_OBJC_METACLASS_$_CSSearchableItemAttributeSet”,引用自: BranchCSSearchableItemAttributeSet.old 中的 _OBJC_METACLASS_$_BranchCSSearchableItemAttributeSet:找不到符号 架构 x86_64 clang:错误:链接器命令失败,退出代码 1(使用 -v 查看调用)

正如tutorial 所述,我已将Branch-SDK 文件夹正确添加到项目中,我配置了PLST,并在AppDelegate.m 中添加了所有代码。我跳过了启用通用链接的第 3 步,因为我还不需要它。

我错过了什么可能导致这种情况?对于其他框架的这种错误,它往往是由错误的类声明引起的,但我看不出我在哪里做错了。

【问题讨论】:

  • 我建议在构建设置中验证是否仅构建架构设置为 NO。
  • 对于“Build Active Architecture Only”,Debug 设置为“Yes”,Release 设置为“No”。
  • 将所有配置切换为NO
  • 仍然出现同样的错误。
  • 在构建设置下,您为有效架构列出了什么?您是通过 CocoaPods 还是手动安装了 Branch SDK?如果手动,请确保所有分支文件都包含在目标的构建阶段 -> 编译源中,尤其是 BranchCSSearchableItemAttributeSet

标签: ios objective-c xcode branch.io


【解决方案1】:

对我来说,在 Podfile 中取消注释以下行并重新运行安装解决了 XCode 中的此类问题:

use_frameworks!

然后做一个

pod install

然后尝试再次在 XCode 中清理和运行应用程序,它应该可以工作。 它对我有用。

【讨论】:

  • 对于我的 react native 项目,如果我启用 use_framework 然后 Flipper 将无法工作。那我该怎么办?
  • @leeCoder 我认为您的问题非常具体到您的 React Native 项目、它的 CocoaPods 版本以及您所指的 Flipper 库。所以最好在那个 GitHub 存储库页面中提出一个问题。祝你好运
猜你喜欢
  • 2017-02-15
  • 1970-01-01
  • 2015-10-27
  • 1970-01-01
  • 2014-05-14
  • 2016-12-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多