我正在尝试将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)
答案 0 :(得分:2)
您的IntentHandler.swift
属于另一个目标(Siri Intents Extension目标),它看不到来自主要目标的类。
解决此问题的快速方法是选择要在Siri Intent目标扩展中使用的类文件,然后将此目标添加到文件的TargetMembership中(通过将您的Intent目标标记为复选框)。这样,您的意图目标可以“查看”此文件及其类。
另一种实现方法是创建一个框架,该框架使类符合您的业务逻辑,然后在您的项目目标和Siri Intents目标中都使用此框架。更详细的信息可以在Apple documentation
中找到