iOS14及以下系统中UIDocumentPickerMode弃用问题解决方案咨询
UIDocumentPickerMode 弃用后的iOS13+兼容方案
不用强制用户升级系统,iOS13及以上有完全兼容的替代方式,具体处理如下:
直接通过初始化方法指定模式:在iOS14及更早版本,
UIDocumentPickerMode枚举本身并未被弃用,只是documentPickerMode这个属性被标记为弃用。你可以直接在初始化UIDocumentPickerViewController时传入模式参数来替代,示例代码:// 创建导入类型的文档选择器 let documentPicker = UIDocumentPickerViewController( documentTypes: ["public.item"], in: .import ) documentPicker.delegate = self present(documentPicker, animated: true)这里的第二个参数
in就对应原来的documentPickerMode,直接指定枚举值即可正常工作。版本适配iOS15+新API:如果需要同时适配iOS15及以上的新特性,可通过版本判断区分实现,兼顾低版本兼容性:
var documentPicker: UIDocumentPickerViewController if #available(iOS 15.0, *) { // iOS15+ 使用基于UTType的新初始化方法 documentPicker = UIDocumentPickerViewController( forOpeningContentTypes: [UTType.item] ) } else { // iOS13-14 使用旧版初始化方式 documentPicker = UIDocumentPickerViewController( documentTypes: ["public.item"], in: .import ) } documentPicker.delegate = self present(documentPicker, animated: true)
总结:iOS13-14版本中,UIDocumentPickerMode枚举依然可用,只需避开访问弃用的documentPickerMode属性,通过初始化参数指定模式即可,无需强制用户升级系统。
内容的提问来源于stack exchange,提问作者Bima J Hermid
相关产品推荐
相关产品推荐

