You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

OC与Swift混合项目中CoreML mlmodel自动生成.h类文件方法

在OC与Swift混合项目中让CoreML自动生成Objective-C模型类的方法

我之前也踩过这个坑!当项目里引入Swift文件后,Xcode会默认把CoreML模型的代码生成语言切换成Swift,而且生成的Swift类还不会显式出现在项目结构里,导致OC代码根本没法调用。下面是亲测有效的解决步骤:

  • 首先选中你的.mlmodel文件,打开右侧的File Inspector(就是那个带文件图标的侧边面板)
  • 在面板的CoreML区域,找到Code Generation Language选项——默认应该是Swift,直接把它改成Objective-C
  • 接下来做一次清理编译:按下Cmd+Shift+K清理项目缓存,再按Cmd+B重新编译项目
  • 编译完成后,你就可以在Objective-C的ViewController里直接导入模型头文件了,格式是#import "<你的模型文件名>.h",比如你的模型叫ImageClassifier.mlmodel,就写#import "ImageClassifier.h"

额外注意事项

  • 生成的Objective-C头文件其实存放在项目的派生数据目录里,不需要手动去找到它添加到项目中,直接导入就能用
  • 不要把模型的头文件加到项目的桥接文件(比如YourProjectName-Bridging-Header.h)里,否则会出现编译冲突,OC文件直接导入即可
  • 如果改完语言还是没生成对应的.h文件,检查一下模型文件的Target Membership,确保它勾选了你的主项目Target,没有被意外排除

内容的提问来源于stack exchange,提问作者kobunketsu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 09:18:31