问题标签 [fileprovider-extension]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
836 浏览

ios - 直接从我自己的 iOS 应用程序打开 Microsoft Office 文档以进行就地编辑

我希望能够编辑托管在我自己的服务器上的就地Office 文件。就地,我的意思是在 Office 中打开文件,对其进行编辑,然后将更改直接发送回我的应用程序/服务器。

我通过实现文件提供程序扩展来部分实现这一点,以在文件应用程序 (iOS 11+) 中显示我的文件,它会自动启动 Office 应用程序并将更改重新上传到我的服务器。我还可以从 Office 的“打开”菜单浏览到我的文件并就地进行编辑。

我会直接从我的应用程序触发这个流程。有任何想法吗?

我和许多人都尝试遵循 Microsoft 的与 Office 集成指南,但它仅适用于 FileShare 或 OneDrive 中托管的文件。我想编辑托管在我自己的服务器中的文件。

0 投票
1 回答
113 浏览

ios - FileProviderExtension workingSet 枚举器没有调用

我在“文件”应用程序中遇到工作集枚举器(“最近”选项卡)问题。我为文件夹实现了一个工作枚举器,它运行 enumerateItems(当我移动到 UI 中的文件夹时,它运行观察者方法并且一切正常。我也有一个不同的工作集枚举器,但它没有创建和枚举任何东西。

我正在尝试使用信号在 startProvidingItem 方法中调用工作集枚举器,但它不起作用。

当我在“文件”应用中打开“最近”选项卡时,FileProviderWorkingSetEnumerator 是否会自动初始化?我应该以某种方式直接从 FileExtension 调用它吗?

谢谢!

0 投票
2 回答
1192 浏览

ios - 在 iOS 中导入文件:UIDocumentPicker 与 UIDocumentBrowser

根据文档,UIDocumentPickerViewControllerUIDocumentBrowserViewController都可用于在应用程序沙箱之外导入文档。

对于从本地文档提供商/云位置选择和导入文档,上述哪个最适合。我仍然可以在 iOS 11 中使用 UIDocumentPickerViewController 吗?

根据以下文档Apple 文档选择器文档,在您的应用程序可以使用文档选择器之前,您必须在 Xcode 中打开 iCloud 文档功能,并且应该将 iCloud 容器映射到 appId。如果我只是这样做,这是强制性的导入操作?我尝试使用 UIDocumentPickerViewController ,即使没有上述权利,它似乎也能正确返回选定的文件路径。

0 投票
1 回答
365 浏览

ios - UIDocument、FileWrapper 和第三方文件提供程序

我在我的应用程序中使用文档包(通过 FileWrapper API),并且我正在使用 UIDocumentBrowserViewController 类进行文档管理。文档包基本上代表(文本)文件和文件夹的层次结构。当文档存储在设备或 iCloud 中时,一切正常。但是,当我尝试在远程位置创建文档时,情况就不同了,访问权限由第三方文件提供商提供,例如 Google Drive、Microsoft One Drive 或 Dropbox。每次我尝试在任何这些位置创建文档时,我都会调用 importHandler(fileURL, .move):

  1. Dropbox:失败并出现一般错误消息:“操作无法完成。(DBFileProviderErrorDomain 错误 1。)”;

  2. Google Drive:失败并显示略有不同的消息:“操作无法完成。(com.apple.DocumentManager 错误 1。)”

  3. MS OneDrive:似乎成功了,但在尝试打开新创建的文档时,应用程序会收到一个 OS_dispatch_data 对象,而不是它所期望的 FileWrapper 对象。

我不确定发生了什么。我唯一能想到的是文档包仅在 Apple 文件系统上受支持。

非常感谢任何建议。谢谢你。

0 投票
1 回答
2492 浏览

asp.net-core - 如何使用 Kestrel 托管 Angular 应用程序

我正在尝试使用扩展来部署应用程序Angular 7.NET CoreKestrelFileProvider

我已经创建了 angular 应用程序,我拥有它,并且我在Porject 中ng build复制了文件。dist .NET

启动

PS我的myroot文件夹就在项目的根目录中。我不知道如何提供angular应用程序的第一页(入口点),即index.html.

0 投票
0 回答
284 浏览

ios - 有什么更好的调试 iOS FileProvider 扩展的建议吗?

我正在开发一个基于文档的应用程序,因此也在开发该应用程序的 FileProvider 扩展,正如 Apple 所建议的那样

我几乎已经实现了扩展的所有基本功能(列出、预览文件、执行某些用户操作等)

到目前为止,为了调试扩展,我要么将它附加到进程(从“调试”菜单中),要么通过 Files 应用程序运行 FileProvider 方案。这两种方法都只能在一定程度上使用,并且在几次尝试后会导致“冻结的文件应用程序”。(断点有时也不能正常工作)

我必须重新启动我的设备或强制退出 Xcode 才能再次工作(每两次或多次尝试!),这太烦人了!(文件应用程序错误?!)

是否有修复或更好的方法来调试扩展?我已经在多个设备上尝试过相同的操作,只是为了确保我不是唯一一个,而是在我尝试过的每一个设备上都会发生

0 投票
1 回答
474 浏览

ios - 如何在 iOS 上使用 FileProviderExtension 显示下载进度

我有一个应用程序,它实现了 FileProviderExtension 的所有花里胡哨。现在问题出现了,在文件应用程序中显示下载/上传进度需要什么?

有一个先前提出的问题,答案相当模糊,没有产生任何结果。

这是startProvidingItem(at url: URL ...)函数的粗略代码:

DownloadDelegate调用completionHandler错误或nil成功的地方。这一切都有效,但即使 downloadTask 已注册但FileProviderManager没有显示任何进度。

Waiting to Download它开始在文件下方显示不确定的微调器。下载任务肯定会发送进度事件(通过 中的urlSession(..., totalBytesWritten: ...)方法确认DownloadDelegate),但 FileProvider 似乎忽略了它们。


TL;DR:在 FileExtension 中使下载进度正常工作需要什么?

0 投票
1 回答
128 浏览

ios - NSFileProviderItem 下载徽章始终可见

我正在开发一个NSFileProvider。在 Files 应用程序的文件夹视图中,下载标记显示在每个文件旁边,独立于相应文件提供程序项中isDownloaded函数返回的值,如下图所示:

下载徽章(始终可见!)

我注意到的有趣的事情是:

  • 如果我根本不实现 isDownloaded 函数,则徽章不会出现。
  • 如果我实现该函数,则无论isDownloaded函数的返回值如何,都会出现徽章。
  • 还实现了isDownloading功能,它工作正常(移动圆圈在下载操作期间出现,但随后恢复为“下载”徽章,而不是像其他提供商那样的空白)。

您能帮我隐藏已下载文件的标记吗?

我检查了 Drive 和 Dropbox,徽章按预期工作,所以我肯定遗漏了一些东西。

为了仔细检查,我尝试实现 isDownloaded 以始终返回 true,但徽章仍然出现。就在我删除实现时它们消失了。

0 投票
0 回答
105 浏览

ios - 文件提供程序扩展的显示名称

我想知道如何在文件提供程序扩展上以编程方式修改显示名称,如下图所示

在此处输入图像描述

如何添加此“个人”

0 投票
2 回答
66 浏览

ios - 禁止在 UIDocumentBrowserViewController 中导出或共享文档

有什么方法可以禁止在UIDocumentBrowserViewController基于 my 的应用程序中导出文件,该应用程序还提供FileProvider?

  • 应该只允许用户查看和编辑应用程序中的文件。
  • 用户应该能够在FileProvider资源中移动文件,添加新文件夹,...

语境:

  • 我正在构建一个企业应用程序,该应用程序授予对包含敏感信息的网络文件系统的访问权限。
  • 我正在使用FileProvider只能在我的应用程序中使用的扩展程序。
  • 如果从其他应用程序访问,我想FPUIActionExtensionViewController通过抛出身份验证错误来实现这一点。FileProvider
  • 我想避免构建自己的 UI 并使用 Apple 免费提供的 UI。