我有一个文档选择器,但是在选择文档之后,didPickDocumentAt部分从未被触发。在我更新swift之前它是工作的,现在有什么不同吗?
func selectDocument(_ sender: UIButton!){
let documentPickerVC = UIDocumentPickerViewController(documentTypes: ["org.openxmlformats.wordprocessingml.document", "com.microsoft.word.doc"], in: UIDocumentPickerMode.import)
documentPickerVC.delegate = self
self.present(documentPickerVC, animated: true, completion: nil)
}
func documentPicker(_ documentPicker: UIDocumentPickerViewController, didPickDocumentAt url: URL) {
print("file picked: (url)")
documentPicker.dismiss(animated: true, completion: nil)
}
没有什么是"失败",它只是没有调用documentPicker
方法。
我有一个类似的选择媒体,一个工作得很好…
func selectMedia(_ sender: UIButton!){
if UIImagePickerController.isSourceTypeAvailable(UIImagePickerControllerSourceType.photoLibrary){
picker.delegate = self
picker.allowsEditing = false
picker.mediaTypes = [kUTTypeMovie as String]
self.present(picker, animated: true, completion: nil)
}
}
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info:[String: Any]) {
let url = info[UIImagePickerControllerMediaURL] as! URL
print("media picked: (url)")
}
编辑:我刚刚添加了documentPickerWasCancelled
方法,由于某种原因,当我选择文档时将调用该方法。注意我从google drive中选择了一个文档,这会对任何事情产生影响吗?
编辑2:回答,卸载和重新安装,它工作。请看下面的答案。谢谢大家的建议。
上面的代码看起来是正确的。我卸载了google drive应用程序(我从那里获取文件)并重新安装它,然后它就像预期的那样工作了。我也试过用dropbox,效果也不错。
之前不知道是什么让它失败的。