Add “Edit in Excel” or “Edit photo” extension

别来无恙 提交于 2019-11-26 09:56:17

问题


I checked the latest Dropbox and Excel for iOS. In Dropbox we get an edit button. On click it opens Excel\'s extension where you can edit the file.

After save, changes are reflected in the Dropbox file too.

I want to add such a button. Also I\'d like to add such a button to images to open them in available \"photo editing\" apps.

How to check if file (image, xls, doc or any other) can be opened to edit?

Code so far:

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

Also tried changing mode to UIDocumentPickerModeMoveToService...

\"enter

As per apple docs Move a local document. The user selects an external destination. The document picker moves the document; however, you can still access the document as an external document, letting the user edit the document in place.

But I tried all four modes. Did not show excel option.

   UIDocumentPickerModeImport,
   UIDocumentPickerModeOpen,
   UIDocumentPickerModeExportToService,
   UIDocumentPickerModeMoveToService 

回答1:


The only way to communicate with other iOS apps "locally" is using what is called URLSchemes.

This is the documentation to use URLScheme with the MSOffice apps. https://msdn.microsoft.com/en-us/library/office/dn911482.aspx

Answering the specific question:

How to check if file (image, xls, doc or any other) can be opened to edit?

You can use the UIApplication method called canOpenURL to check if the current device responds to a specific URLScheme and if it does, you can call the app to edit you file. The same can be applied to other apps that you want to open. You just need to see if the app have URLScheme support.

Remembering that in iOS 9 you need to add the URLs you want to call during the app life in the Info.plist. Otherwise, the canOpenURL method will always returno NO.

This code illustrates the approach. However, it is to search some navigation apps. Just like tapping a shared friend location in WhatsApp.

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

The result:




回答2:


it's 2017 and iOS 11 and it's still not possible to edit files in place.

Dropbox is using MS Office API to provide http links to download and upload changed document. Direct edit of the file is only possible if FileProvider extension is implemented and file was opened in editor app via document picker (which grants access to the file in sandbox).

Photo editing is allowed because editor is made by Apple (Photos app).



来源:https://stackoverflow.com/questions/30613645/add-edit-in-excel-or-edit-photo-extension

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!