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

Swift开发中public.mpeg-4类型标识符是否有对应的预定义常量?

可用的替代常量

确实有官方预置的常量可以替代手写的"public.mpeg-4"字符串,常用的有两类:

  • 通用UTI常量:导入UniformTypeIdentifiers框架后,可以使用UTType.mpeg4Movie(Swift 语法)或kUTTypeMPEG4(Objective-C 语法),这是系统级定义的标准MP4格式统一类型标识符,和你手写的字符串值完全一致。如果需要兼容iOS13及更低版本,可以使用旧版kUTTypeMPEG4常量,导入MobileCoreServices框架即可调用。
  • 音视频场景专用常量:如果你的项目已经导入了AVFoundation做视频处理,可以直接用AVFileType.mpeg4(Swift 语法)或AVFileTypeMPEG4(Objective-C 语法),它的原始值同样是"public.mpeg-4",专门适配音视频相关的API调用场景。

修改后的代码示例(Swift):

import UniformTypeIdentifiers

result.itemProvider.loadFileRepresentation(forTypeIdentifier: UTType.mpeg4Movie.identifier) { fileURL, error in
    // 原有逻辑
}

常量声明查找方式

两类常量都可以直接在Xcode中跳转查看完整定义:

  • 选中UTType.mpeg4Movie或者kUTTypeMPEG4按Command + 点击,就能跳转到UniformTypeIdentifiers框架的头文件,这里列出了所有系统预置的文件类型UTI常量,包括图片、音频、文档、压缩包等所有常见格式的对应定义。
  • 选中AVFileType.mpeg4按Command + 点击,可以跳转到AVFoundation框架的AVAsset相关头文件,这里的常量都是专门针对音视频格式的封装定义。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 12:09:00