Apple Mach-O Linker Error Siri目标意图扩展附加

时间:2018-07-03 18:41:38

标签: ios xcode sirikit

我正在尝试将Siri集成到我的 Objective-C / Swift 应用中。当我尝试从项目的其他类中获取数据到IntentHandler.swift文件中以确定哪​​些联系人符合用户的意图时,出现错误:

Undefined symbols for architecture arm64:
  "_OBJC_CLASS_$_(ClassName)", referenced from:

跟着

clang: error: linker command failed with exit code 1 (use -v to see invocation)

1 个答案:

答案 0 :(得分:2)

您的IntentHandler.swift属于另一个目标(Siri Intents Extension目标),它看不到来自主要目标的类。

解决此问题的快速方法是选择要在Siri Intent目标扩展中使用的类文件,然后将此目标添加到文件的TargetMembership中(通过将您的Intent目标标记为复选框)。这样,您的意图目标可以“查看”此文件及其类。

另一种实现方法是创建一个框架,该框架使类符合您的业务逻辑,然后在您的项目目标和Siri Intents目标中都使用此框架。更详细的信息可以在Apple documentation

中找到