iOS 13 Как использовать UIDocumentPickerViewController с группой приложений? - PullRequest
0 голосов
/ 26 октября 2019

Я реализовал AppGroup в своем приложении для подготовки к обмену данными с другим приложением. Я успешно переместил файлы в эту группу приложений из каталога документов приложения по умолчанию.

FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: "group.com.xxx.mydata")! as NSURL

Теперь я хотел бы выбрать файлы в этом контейнере, используя UIDocumentPickerViewController. В iOS 13 я должен иметь возможность указать, в каком каталоге запускается средство выбора документов. Мой DocumentPicker выглядит следующим образом:

@IBAction func fileAction(_ sender: UIButton)
{
    // open a document picker, select a file
    let importFileMenu = UIDocumentPickerViewController(documentTypes: ["public.data"], 
            in: UIDocumentPickerMode.import)
    importFileMenu.delegate = self
    if #available(iOS 13.0, *) {
        print("File iOS 13+")
        importFileMenu.directoryURL = FileManager.default.containerURL(
            forSecurityApplicationGroupIdentifier: "group.com.xxx.mydata")!
    } else {
        // Fallback on earlier versions
        print("File iOS <=12")
    }
    importFileMenu.modalPresentationStyle = .formSheet

    self.present(importFileMenu, animated: true, completion: nil)
}

Когда я запускаю приложение, оно работает так же, как и до iOS13, открывая вкаталог документов приложения по умолчанию, и группа приложений не отображается как возможность выбора. В операторе печати отображается «Файл iOS 13 +».

Мне не хватает разрешений на чтение из этого контейнера, или я пропустил что-то еще? Спасибо!

...