iOS Swift, какой URL-адрес папки «на моем iPhone» - PullRequest
0 голосов
/ 24 апреля 2019

Мне нужно импортировать в мое приложение документ, который был сохранен в папке «На моем iPhone».Каким будет URL этой папки?(эти документы (pdf) сохраняются пользователем вне приложения, и я хотел бы, если возможно, переместить / скопировать их в папку документов приложения, но, опять же, я не могу найти этот URL.

1 Ответ

1 голос
/ 24 апреля 2019

Попробуйте этот код (способ выбрать нужный документ из папки iPhone:

extension YourViewController: UIDocumentInteractionControllerDelegate {
    /// If presenting a top a navigation stack, provide the navigation controller in order to animate in a manner consistent with the rest of the platform
    func documentInteractionControllerViewControllerForPreview(_ controller: UIDocumentInteractionController) -> UIViewController {
        return self.navigationController ?? self
    }
}

extension YourViewController : UIDocumentPickerDelegate {
    func initDocs() {
        let pickerController = UIDocumentPickerViewController(documentTypes: ["public.item"], in: .import)

        pickerController.delegate = self
        if #available(iOS 11.0, *) {
            pickerController.allowsMultipleSelection = false
        }
        present(pickerController, animated: false, completion: nil)
    }

    func documentPicker(_ controller: UIDocumentPickerViewController, didPickDocumentsAt urls: [URL]) {
        if let url = urls.first {
            self.handleDoc(url: url) // method in your view controller
        }
    }

    func documentPicker(_ controller: UIDocumentPickerViewController, didPickDocumentAt url: URL) {
        print("url = \(url)")
    }

    func documentPickerWasCancelled(_ controller: UIDocumentPickerViewController) {
        dismiss(animated: true, completion: nil)
    }
}

В YourViewController функция вызова:

@IBAction func importPem(_ sender: UIButton) {

    initDocs()
    UIDocumentInteractionController().presentPreview(animated: true)
}
...