【问题标题】:Undefined symbols for architecture x86_64 when using ORKESerializer使用 ORKESerializer 时架构 x86_64 的未定义符号
【发布时间】:2016-04-27 04:22:52
【问题描述】:

过去几周我一直在开发一个 ResearchKit 应用。当我尝试将调查数据转换为 JSON 时遇到了一些错误。我添加了一些序列化代码,当我尝试运行时,我得到了这两个错误。请查看以下屏幕截图以获取更多信息。

我尝试在构建设置中更改架构,但无济于事。我该如何解决? ORKESerializer 代码:

let decodedData = try ORKESerializer.JSONDataForObject(data)

print("decoded data: \(decodedData)")

if let jsonString = NSString(data: decodedData, encoding: NSUTF8StringEncoding) {

      print(jsonString)

}

我的桥接头代码:

#import "ORKESerialization.h"

我的架构/有效架构:

$(ARCHS_STANDARD)
x86_64

【问题讨论】:

  • 请克隆最新的稳定分支。此错误已修复。

标签: xcode swift researchkit


【解决方案1】:

默认情况下,ORKESerializer 类似乎不是 ResearchKit 框架的一部分。 (请参阅this comment。)不过,它可能包含在测试中。

要在您的应用中使用它,需要编译/链接代码,因此您需要将 ORKESerialization.m 添加到您的目标之一。

【讨论】:

  • 另外,您需要一个包含最近合并的 PR 的 RK 版本,它可以解决归档包含 ORKESerializer 的项目时出现的问题。
  • 现在我收到错误:由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“预期的有效 JSON 对象”
  • 您是否向其传递了有效的 JSON 对象? ;)
  • 我通过了调查结果。我需要先做其他事情吗?它仍然是 UTF8。
  • 没关系,我让它工作,需要将结果声明为它自己的变量。非常感谢您的帮助!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-08-07
  • 2012-07-20
  • 1970-01-01
  • 2015-08-23
  • 2014-05-27
  • 2017-07-06
  • 2016-06-20
相关资源
最近更新 更多