13

我检查了最新的 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 
4

2 回答 2

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 中点击共享的朋友位置一样。

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

结果: 导航按钮的结果

于 2015-10-13T01:04:06.207 回答
0

现在是 2017 年和 iOS 11,仍然无法就地编辑文件。

Dropbox 正在使用 MS Office API 提供 http 链接来下载和上传更改的文档。仅当实现 FileProvider 扩展并通过文档选择器在编辑器应用程序中打开文件(授予对沙箱中文件的访问权限)时,才能直接编辑文件。

照片编辑是允许的,因为编辑器是由 Apple(照片应用程序)制作的。

于 2017-09-27T12:24:21.427 回答