Добавьте расширение "Редактировать в Excel" или "Редактировать фотографию"

Я проверил последний Dropbox и Excel для iOS. В Dropbox мы получаем кнопку редактирования. По щелчку открывается расширение Excel, в котором вы можете редактировать файл.

После сохранения изменения также отражаются в файле Dropbox.

Я хочу добавить такую ​​кнопку. Также я хотел бы добавить такую ​​кнопку к изображениям, чтобы открыть их в доступных приложениях для редактирования фотографий.

Как проверить, можно ли открыть файл (изображение, xls, doc или любой другой) для редактирования?

Код:

UIDocumentPickerViewController *documentPicker = [[UIDocumentPickerViewController alloc] initWithURL:url inMode:UIDocumentPickerModeExportToService];
documentPicker.delegate = self;
documentPicker.modalPresentationStyle = UIModalPresentationFormSheet;
[self presentViewController:documentPicker animated:YES completion:nil];

Также попытался изменить режим на UIDocumentPickerModeMoveToService...

enter image description here

В соответствии с яблочными документами Переместите локальный документ. Пользователь выбирает внешний адрес. Сборщик документов перемещает документ; однако вы все равно можете получить доступ к документу в качестве внешнего документа, позволяя пользователю редактировать документ на месте.

Но я пробовал все четыре режима. Не показывал опцию excel.

   UIDocumentPickerModeImport,
   UIDocumentPickerModeOpen,
   UIDocumentPickerModeExportToService,
   UIDocumentPickerModeMoveToService 

Ответы

Ответ 1

Единственный способ общаться с другими приложениями iOS "локально" - это использовать так называемые URLSchemes.

Это документация для использования URLScheme с приложениями MSOffice. https://msdn.microsoft.com/en-us/library/office/dn911482.aspx

Отвечая на конкретный вопрос:

Как проверить, можно ли открыть файл (изображение, xls, doc или любой другой) для редактирования?

Вы можете использовать метод UIApplication под названием canOpenURL, чтобы проверить, реагирует ли текущее устройство на конкретный URL-адрес, и если да, вы можете вызвать приложение, чтобы отредактировать файл. То же самое можно применить к другим приложениям, которые вы хотите открыть. Вам просто нужно посмотреть, поддерживает ли приложение поддержку URLScheme.

Помня, что в iOS 9 вам нужно добавить URL-адреса, которые вы хотите вызвать во время жизни приложения в Info.plist. В противном случае метод canOpenURL всегда будет возвращать NO.

Этот код иллюстрирует подход. Тем не менее, это поиск некоторых навигационных приложений. Точно так же, как нажимать местоположение общего друга в WhatsApp.

https://snipt.net/wallaaa/using-url-schemes/

Результат: результат кнопки навигации

Ответ 2

это 2017 и iOS 11, и все еще невозможно редактировать файлы на месте.

Dropbox использует MS Office API для предоставления http-ссылок для загрузки и загрузки измененного документа. Прямое редактирование файла возможно только в том случае, если расширение FileProvider реализовано и файл был открыт в приложении-редакторе с помощью средства выбора документов (который предоставляет доступ к файлу в песочнице).

Редактирование фотографий разрешено, потому что редактор сделан Apple (приложение "Фото" ).