2016-10-20 28 views
3

私はドキュメントピッカーを持っていますが、ドキュメントを選択すると、didPickDocumentAtパーツは決してトリガーされません。私は迅速に更新する前に働いていましたが、今は違うものがありますか?UIDocumentPickerViewControllerはdidPickDocumentメソッドを呼び出しません

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メソッドではありません。

私はメディアを選択するための同様のものを持っており、その1が正常に動作します...

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ドライブからドキュメントを選択していますが、何かに影響がありますか?

編集2: アンインストール、アンインストール、再インストールされ、機能しました。以下の回答を参照してください。みなさん、おかげさまで提案に感謝します。

+0

スイフト2またはスウィフト3を使用していますか? – alexburtnik

+0

これはSwift 3です。 – John

+0

@John以前はそれが動作していますか?速攻2 –

答えて

1

上記のコードは正しいと思われます。私はGoogleドライブのアプリをアンインストールして(どこからファイルを取得していたのですか)、それを再インストールしてから、期待どおりに動作しました。私もdropboxから試してみました。

以前は何が失敗していたのかわかりません。

+1

あなたはそれを解決してうれしいです。次の問題については:) – pbodsk

関連する問題