【发布时间】:2018-11-20 10:20:08
【问题描述】:
我正在使用 UIDocumentPickerViewController 从 iPhone 中选择一个文档。
我已经通过以下方式实现了该功能。
class Si3EntityDocumentViewController: UIViewController, UICollectionViewDelegate, UICollectionViewDataSource, UICollectionViewDelegateFlowLayout, UIDocumentInteractionControllerDelegate, UIDocumentPickerDelegate, UINavigationControllerDelegate, UIDocumentMenuDelegate {
override func viewDidLoad() {
super.viewDidLoad()
setLoader()
getDocuments(id:entity.id)
let button = UIButton(frame: CGRect(x: 100, y: 100, width: 100, height: 50))
button.backgroundColor = .red
button.setTitle("Upload Doc", for: .normal)
button.addTarget(self, action: #selector(buttonAction), for: .touchUpInside)
self.view.addSubview(button)
// Do any additional setup after loading the view.
}
@objc func buttonAction(sender: UIButton!){
let documentPicker = UIDocumentPickerViewController(documentTypes: [String(kUTTypeText),String(kUTTypeContent),String(kUTTypeItem),String(kUTTypeData)], in: .import)
documentPicker.delegate = self
present(documentPicker, animated: true, completion: {
documentPicker.delegate = self
} )
}
func documentPicker(_ controller: UIDocumentPickerViewController, didPickDocumentsAt urls: [URL]) {
print(urls)
}
}
func documentPicker(_ controller: UIDocumentPickerViewController, didPickDocumentsAt url: URL) 方法已在 iOS 11 中弃用,因此我将其替换为 func documentPicker(_ controller: UIDocumentPickerViewController, didPickDocumentsAt urls: [URL])
由于某种原因,我没有收到func documentPicker(_ controller: UIDocumentPickerViewController, didPickDocumentsAt urls: [URL]) 中的回调
我在这个类中还有一些其他代码,但我没有包含它。 当我选择一个文档或单击取消时,我在控制台中收到以下错误
[DocumentManager] 视图服务确实因错误而终止:错误 域=_UIViewServiceErrorDomain 代码=1“(空)” UserInfo={Terminated=断开方法}
我知道我错过了一些非常愚蠢的东西,感谢任何帮助。
感谢期待。
【问题讨论】:
标签: ios swift4 uidocumentpickervc