Skip to content

Latest commit

 

History

History
62 lines (41 loc) · 2.4 KB

import-export.md

File metadata and controls

62 lines (41 loc) · 2.4 KB

iOS 导入导出文档

导出文档

UIActivityViewController 和 UIDocumentInteractionController 都可以实现。

UIActivityViewController 相比 UIDocumentInteractionController 优势

  • 可以配置 excludedActivityTypes 添加额外的自定义服务,它还提供了非常好的原生服务的定制化功能。
  • 自定义UIActivity服务

从 PC 端 iTunes 导入文档

UIFileSharingEnabled 设为 YES,iTunes 可以访问 NSDocumentDirectory 目录。

获取导入的文档

NSString *documentsDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject];
NSFileManager *manager = [NSFileManager defaultManager];
NSArray *fileList = [manager contentsOfDirectoryAtPath:documentsDirectory error:nil];
NSMutableString *filesStr = [NSMutableString stringWithString:@"Documents文件夹中文件的名称: \n"];

应用间的文件交换

参考 Uniform Type Identifiers Reference CFBundleDocumentTypes 设置支持的格式,其它 App 调用 UIDocumentInteractionControllerUIActivityViewController 时就会有 App 的 icon。

  • Document Types 已知格式
  • Imported UTIs 添加新的格式

Document Types

Additional document type properties

LSHandlerRank

  • Owner: 打开一次后会记住 App,下次直接用该 App 打开
  • Alternate
  • Default
  • None: 不会出现在可打开 App 列表

CFBundleTypeRole

  • Editor
  • Viewer
  • Shell
  • QLGenerator
  • None

打开外部文件

  • LSSupportsOpeningDocumentsInPlace
  • UIFileSharingEnabled

References