我检查了最新的Dropbox和Excel for 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
...
根据苹果文档 移动本地文档。用户选择外部目的地。文件选择器移动文件;但是,您仍然可以将文档作为外部文档访问,让用户可以编辑文档。
但我尝试了所有四种模式。没有显示excel选项。
UIDocumentPickerModeImport,
UIDocumentPickerModeOpen,
UIDocumentPickerModeExportToService,
UIDocumentPickerModeMoveToService
答案 0 :(得分:1)
与其他iOS应用进行通信的唯一方式"本地"正在使用所谓的URLSchemes。
这是将URLScheme与MSOffice应用程序一起使用的文档。 https://msdn.microsoft.com/en-us/library/office/dn911482.aspx
回答具体问题:
如何检查文件(图像,xls,doc或任何其他文件)是否可以打开进行编辑?
您可以使用名为UIApplication
的canOpenURL
方法检查当前设备是否响应特定的URLScheme,如果有,则可以调用该应用程序来编辑您的文件。同样可以应用于您要打开的其他应用程序。您只需要查看该应用是否具有URLScheme支持。
请记住,在iOS 9中,您需要在Info.plist中添加应用期间要调用的URL。否则,canOpenURL
方法将始终返回NO
。
此代码说明了该方法。但是,它是搜索一些导航应用程序。就像点击WhatsApp中的共享朋友位置一样。
答案 1 :(得分:0)
它是2017年和iOS 11,它仍然无法编辑文件。
Dropbox正在使用MS Office API提供http链接以下载和上传已更改的文档。 只有在实现FileProvider扩展并且通过文档选择器(在沙箱中授予对文件的访问权限)在编辑器应用程序中打开文件时,才可以直接编辑文件。
允许进行照片编辑,因为编辑器是Apple(照片应用程序)制作的。