Используя UIDocumentPickerViewController, можно ли показывать службу по умолчанию (Dropbox, Google Диск и т.д.) При первом открытии, как в Slack?
Обычно поведение с UIDocumentPicker заключается в том, что вы представляете, тогда пользователь должен использовать меню "Местоположения" в правом верхнем углу для переключения между службами. Можно ли по умолчанию отображать "Dropbox" или "Google Диск"? Почти так, как если бы мы были "deeplinking" в службу UIDocumentPicker.
Кажется, что Slack App может это сделать, а также приложение MyMail, но я не смог найти для него API. Любые идеи?
![Slack App]()
Ответы
Ответ 1
Вместо использования UIDocumentPickerViewController попробуйте использовать UIDocumentMenuViewController. Вот соответствующая документация.
UIDocumentMenuViewController *documentProviderMenu =
[[UIDocumentMenuViewController alloc] initWithDocumentTypes:[self UTIs]
inMode:UIDocumentPickerModeImport];
documentProviderMenu.delegate = self;
[self presentViewController:documentProviderMenu animated:YES completion:nil];
По умолчанию в нем будут отображаться приложения, которые включают расширение поставщика документов (например, Dropbox, Google Drive, iCloud и т.д.). Поэтому, если на вашем устройстве установлен Dropbox или Google Диск, эти параметры будут отображаться автоматически.
Вы также можете добавить пользовательские параметры в меню, вызвав метод addOptionWithTitle:image:order:handler:
.
Ответ 2
Пример кода Swift:
let documentProvider = UIDocumentMenuViewController(documentTypes: ["public.image", "public.audio", "public.movie", "public.text", "public.item", "public.content", "public.source-code"], in: .import)
documentProvider.delegate = self
self.present(documentProvider, animated: true, completion: nil)
Ответ 3
Это не касается Google Диска, но на прошлой задаче, которую мне нужно было показывать в Facebook, когда Apple SDK не показывал мне Facebook. (Ключевым случаем здесь была учетная запись пользователя Facebook не в настройках.)
Итак, я схватил их значок и сделал пользовательскую запись.
Я подозреваю, что вы можете сделать то же самое здесь. Возьмите значок Google Диска и сделайте этот заказный документ. Когда пользователь выбирает его, вы передаете его Google.
Это просто предположение, поскольку я не использовал UIDocumentPicker. А также, это довольно хаки.