用途:在 iOS 应用中集成 Core ML 模型,完成端侧推理的 Swift 侧工作,包括模型加载、配置、预测、性能分析与部署。目标为 iOS 26+ 与 Swift 6.3,除特别说明外向后兼容至 iOS 14。范围边界:Python 侧模型转换、量化/调色板化/剪枝等优化及框架选择属于 apple-on-device-ai 技能,本技能只负责 Swift 集成。
主要能力:支持自动生成类加载、手动从 URL 加载、iOS 15+ 异步加载、iOS 16+ 运行时编译 .mlpackage/.mlmodel 为 .mlmodelc;通过 MLModelConfiguration 控制计算单元(.all、.cpuOnly、.cpuAndGPU、.cpuAndNeuralEngine)与低精度累加;支持类型化预测、MLDictionaryFeatureProvider 动态输入、批量预测、iOS 18+ 有状态预测(MLState)与 MLTensor 前后处理;提供 MLMultiArray 数据交换、图像预处理(CVPixelBuffer)、多模型流水线、Vision 集成(CoreMLRequest 与 VNCoreMLRequest)、MLComputePlan 与 Instruments 性能分析、模型部署与内存管理建议。
使用方式:添加模型后优先使用 Xcode 生成的类型化类;运行时下载的模型用 MLModel.load(contentsOf:configuration:) 异步加载,编译一次并持久缓存 .mlmodelc,避免每次启动重编译。预测为同步调用,异步流程中应保持加载异步、预测在 actor 或非主线程执行。批量用 predictions(fromBatch:),有状态模型用 model.makeState() 并串行化同一 state 的推理。
适用场景:图像分类、目标检测、NLP、音频等端侧推理,以及需要 GPU/神经引擎加速、批量处理或状态化序列模型的 iOS 应用。
限制:MLTensor 仅 iOS 18+,MLState 仅 iOS 18+,运行时编译仅 iOS 16+,异步加载仅 iOS 15+;MLTensor 操作惰性执行,需 await tensor.shapedArray(of:) 物化,不支持未确认的统计或桥接 API。大模型(>100 MB)可能触发内存警告,需在真机验证内存与性能。模型转换与优化不在本技能范围内。