我正在研究一些使用ResearchKit的原型。当我使用iP6或模拟器从XCode运行应用程序时,一切都很有效。当我尝试存档我的应用时会出现错误。
我收到以下错误:
Undefined symbols for architecture arm64:
"_OBJC_CLASS_$_ORKQuestionStepCellHolderView", referenced from:
_OBJC_CLASS_$__TtC6myapp11MyCustomView in MyCustomView.o
"_OBJC_METACLASS_$_ORKQuestionStepCellHolderView", referenced from:
_OBJC_METACLASS_$__TtC6myapp11MyCustomView in MyCustomView.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
我按照these说明将ResearchKit包含在我的项目中。我尝试下载源代码(我使用'稳定'分支),将项目拖入我的,构建RK框架,然后将其添加为嵌入式二进制文件。主要问题是自定义类继承自 ORKQuestionStepCellHolderView 。如果我摆脱这个自定义类,我的错误就会消失,我可以归档我的应用程序。
ORKQuestionStepCellHolderView在ORKCustomStepView.h和.m文件中定义。
有关为什么我遇到此问题并且只有这个特定类(ORKQuestionStepCellHolderView)的任何线索?任何帮助将不胜感激!!
是的,我正在使用XCode 7.3.1,我的项目主要使用Swift。不确定这是否与此事有关,但也许有帮助。更新 我终于能够通过更新ResearchKit代码来存档应用程序:
@interface ORKQuestionStepCellHolderView : ORKQuestionStepCustomView
@property (nonatomic, strong, nullable) ORKSurveyAnswerCell *cell;
@end
到此:
ORK_CLASS_AVAILABLE
@interface ORKQuestionStepCellHolderView : ORKQuestionStepCustomView
@property (nonatomic, strong, nullable) ORKSurveyAnswerCell *cell;
@end
我刚刚发布了一个问题here,看看这是一个错误,还是我从错误的角度处理我的问题。
尝试了解ORK_CLASS_AVAILABLE的内容,最后我阅读了有关符号可见性的this link。
更新& ANSWER YuanZhu-apple确认我here我的方法是正确的,它肯定是ResearchKit中的一个错误所以我将发布PR。