【问题标题】:CocoaPods AmazonMobileHub Undefined symbols for architecture x86_64CocoaPods AmazonMobileHub 架构 x86_64 的未定义符号
【发布时间】:2016-06-28 22:02:59
【问题描述】:

我有一个 cocoa pods Swift 项目,我正在尝试安装 Amazon AWS Mobile Hub 框架,复制了 Sdks 和 MobileHubHelper 框架,但没有构建。

错误是这样的:

Undefined symbols for architecture x86_64:
  "_OBJC_CLASS_$_AWSLambdaInvoker", referenced from:
      objc-class-ref in AWSMobileHubHelper(AWSCloudLogic.o)
  "_OBJC_CLASS_$_AWSS3", referenced from:
      objc-class-ref in AWSMobileHubHelper(AWSContentManager.o)
     (maybe you meant: _OBJC_CLASS_$_AWSS3ContentProvider)
  "_OBJC_CLASS_$_AWSS3GetPreSignedURLRequest", referenced from:
      objc-class-ref in AWSMobileHubHelper(AWSContentManager.o)
  "_OBJC_CLASS_$_AWSS3ListObjectsOutput", referenced from:
      objc-class-ref in AWSMobileHubHelper(AWSContentManager.o)
  "_OBJC_CLASS_$_AWSS3ListObjectsRequest", referenced from:
      objc-class-ref in AWSMobileHubHelper(AWSContentManager.o)

从我的发现看来,不鼓励将公共 SDK 与移动集线器框架一起使用,而是复制示例应用程序提供的那些,但无论哪种方式都不起作用。

任何想法都会受到赞赏。 谢谢!

【问题讨论】:

  • 将尝试进一步解释,因为我认为我没有意义。我做了什么: - 创建了一个 swift 项目,其中包括一些像 fabric 等的 pod。 - 在 amazon mobile hub 上创建了一个项目并下载了一个示例应用程序以安装在我的原始项目中。 - 复制包含一些 AWS 框架的移动集线器文件夹附带的 Sdk 文件夹,并将它们添加到嵌入式二进制文件中。 - 复制了包含 AWSMobileHubHelper.framework 的 AWS 文件夹
  • 并将其添加为链接框架(此时在设置的“常规”选项卡上,链接框架显示所有 AWS 框架、dos 框架和最近包含的 MobileHubHelper 框架) - 添加了一个使用 amazon 提供的 strip-frameworks.sh 对 BuildPhases 执行 RunScript。 - 构建和失败。
  • 我注意到失败与 Fabric.io 库有关。从 pod 文件中删除时,应用程序会构建。

标签: ios swift cocoapods amazon-mobile-hub


【解决方案1】:

事实证明,如果您转到项目中的 Pods 文件夹并通过在 ($inherited) 项目构建和运行之后删除 -ObjC 参数来更新 Pods-.debug.xcconfig 和 Pods-.release.xcconfig OTHER_LDFLAGS。

【讨论】:

  • 我已经尝试摆脱这个错误一周了,但没有运气,最后我偶然发现了你的帖子。它有效!你是我的救星!
  • 非常爱你,伙计
  • 这将允许编译但应用程序在某些实例上崩溃。什么是解决方案。
  • 没有看到我的应用因此而崩溃,不知道你的为什么会这样。
【解决方案2】:

您是否已将 $(inherited) 添加到其他链接器标志?通过单击您的项目 -> 构建设置 -> 在搜索栏中键入:其他链接器标志并展开 Debug 并在右侧您将看到一些路径的位置,单击它并将其设置为 $(inherited)。应该管用。

【讨论】:

  • 是的,它已经有 $(inherited) 并且我猜那里有一些路径是从 pods 项目中获取的。
  • 点击您的 pod 的 .h 文件,然后将它们的目标仅勾选到您的应用程序。在 Xcode 的右侧。
猜你喜欢
  • 2021-06-27
  • 1970-01-01
  • 2014-08-07
  • 2012-07-20
  • 1970-01-01
  • 2015-08-23
  • 2014-05-27
  • 2017-07-06
  • 2016-06-20
相关资源
最近更新 更多