一、支持打开
1、系统文件类型
苹果系统类型的官方文档:地址
以 PDF 为例,在 info.plist 里配置 Document types 如下:
- Document Type Name:文档的类型名称(PDF)。
- Handler rank:包含Owner、Alternate 、Default、None四个可选值,指定对于某种类型的优先权级别,而Launcher Service会根据这个优先级别来排列显示的App的顺序。优先级别从高到低依次是Owner、Alternate、Default、None表示不接受这种类型。
- Document Content Type UTIs - Item0: 文件类型的 identifier,系统文件可以从上面官方文档查询。
2、自定义类型
添加自定义类型
以 ofd 文件为例,在 info.plist 里配置 Exported Type Identifiers 如下:
- Identifier:唯一ID,需要保持唯一性。
- public.filename-extension(Extensions):文件类型。
配置可打开类型
在 info.plist 里配置 Document types 如下:
二、支持导入
1、系统文件类型
以 PDF 为例,使用 UIDocumentPickerViewController 读取“文件”App内的 PDF 文档,代码如下:
let documentTypes = ["com.adobe.pdf"]
let documentVC = UIDocumentPickerViewController.init(documentTypes: documentTypes, in: .import)
documentVC.delegate = self
documentVC.transitioningDelegate = self
documentVC.modalPresentationStyle = .fullScreen
self.present(documentVC, animated: true, completion: nil)
2、自定义类型
添加自定义类型
以 ofd 文件为例,在 info.plist 里配置 Imported Type Identifiers 如下:
读取文件
使用 UIDocumentPickerViewController 读取“文件”App内的 ofd 文档,代码如下:
let documentTypes = ["com.adobe.pdf", "com.inbasis.ofd"]
let documentVC = UIDocumentPickerViewController.init(documentTypes: documentTypes, in: .import)
documentVC.delegate = self
documentVC.transitioningDelegate = self
documentVC.modalPresentationStyle = .fullScreen
self.present(documentVC, animated: true, completion: nil)
三、总结
- 系统文件读取
- 无需配置,直接
UIDocumentPickerViewController
代码读取
- 无需配置,直接
- 非系统文件读取
- 配置
Imported Type UTIs
-
UIDocumentPickerViewController
代码读取
- 配置
- 支持系统文件打开
- 配置
Document types
- 配置
- 支持非系统文件打开
- 配置
Exported Type UTIs
- 配置
Document types
- 配置