如何从Objective-C导入Intents定义文件生成的Swift类?
Intents生成类无法在主应用目标中导入的问题
问题描述
- 定义好Intents定义文件后,可在Intents扩展中正常访问生成的Swift类:

- 已确认生成的类归属主应用目标:

- 意图处理程序中能看到该类已被正确定义:

- 该类的声明内容如下:

- 疑惑:生成文件的位置在哪?是否为编译时自动生成?
- 尝试在应用委托中处理该意图,但类未被导入:

- 核心问题:如何将生成的Intents类关联到主应用目标?
解决方案
关于生成文件的说明
Intents对应的Swift类是编译时自动生成的,默认存放在项目的DerivedData目录中,无需手动操作该文件。检查主应用目标的编译配置
- 打开项目设置,选中主应用目标
- 进入
Build Phases>Compile Sources,确认你的.intentdefinition文件已被添加到列表中 - 若未添加,点击
+按钮选择该文件添加
- 正确导入Intents模块
在应用委托文件的顶部添加导入语句:
import Intents
主应用目标下生成的Intents类,通常通过该导入语句即可直接访问。
- 清理重建项目
- 使用快捷键
Cmd + Shift + K清理项目缓存 - 再执行
Cmd + B重新编译项目,确保生成的类被正确关联到主应用目标
内容的提问来源于stack exchange,提问作者david_adler
相关产品推荐
相关产品推荐

