iOS文件选取器
我们在App Store中有很多基于文档的应用程序。 例如iCloud Drive,Google Drive和Dropbox。
在本教程中,我将向您介绍如何在基于文档的应用程序和iOS 11中的应用程序之间同步数据。
- Xcode
- 苹果开发者计划会员
- 允许在您的开发者帐户中启用CloudKit的权限
- 供应配置文件
首先,您将创建一个没有任何构建错误的Xcode项目。 在Xcode首选项帐户中添加配置文件和您的Apple ID。
接下来是在项目中启用iCloud。 按着这些次序 :
目标->功能->启用iCloud。(如果未在Xcode偏好设置中添加帐户,则会弹出警报弹出错误)
我们有两种类型的容器默认和自定义。 在这个项目中,我创建了一个自定义容器。
有关启用iCloud的更多信息,请参考链接:https://developer.apple.com/library/archive/documentation/DataManagement/Conceptual/CloudKitQuickStart/EnablingiCloudandConfiguringCloudKit/EnablingiCloudandConfiguringCloudKit.html
如果您完成了这些工作,那么几乎可以成功完成一个项目。 下一级是代码。
Apple提供了一个UIDocumentViewController和UIDocumentMenuViewController来访问基于文档的应用程序。 但是不幸的是, iOS 11不推荐使用UIDocumentMenuViewController 。 因此我们可以使用UIDocumentViewController。
MobileCoreServices
使用统一类型标识符(UTI)信息来创建和处理可在您的应用程序与其他应用程序和服务之间交换的数据。
导入MobileCoreServices
如果导入核心服务,则只有您可以执行文档类型。 您想要的文档类型就是移动核心服务中的文档类型。
让documentPicker = UIDocumentPickerViewController(documentTypes:[String(kUTTypeText),String(kUTTypeContent),String(kUTTypeItem),String(kUTTypeData)],在:.import中)
//呼叫代表
documentPicker.delegate =自我
self.present(documentPicker,动画:true)
最后在您的类中确认UIDocumentPickerDelegate。 实现以下委托方法。 选择文档后,将调用该方法。
func documentPicker(_控制器:UIDocumentPickerViewController,didPickDocumentsAt网址:[URL]){
打印(网址)
}如果您觉得本教程很有趣,请分享并鼓掌。