问题标签 [uidocumentbrowservc]

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 回答
175 浏览

ios - 更改 UIDocumentBrowserViewController 创建文档按钮文本

我有一个基于文档的 iOS 应用程序,它使用UIDocumentBrowserViewController. 该应用程序允许创建文档,因此应用程序启动时出现的文件浏览器包含带有大号 + 符号和默认文本Create Document的标准按钮,如下图所示。

是否可以更改默认文本,使其更适合我的应用程序?例如,在 Numbers 应用程序中,文本是Create Spreadsheet而不是Create Document

我找不到与此问题相关的文档。

文档浏览器屏幕截图

0 投票
1 回答
434 浏览

swift - Swift 4.2 UIDocumentBrowser View Controller Powerpoint PPTX 文件灰显

我在带有 Swift 的 Xcode 10.1 中使用基于文档的应用程序模板。开箱即用,它不支持许多文件类型,因此我添加了许多文档类型,包括各种 Microsoft Office 格式(doc、xls、ppt),它们都可以正常工作。我还为 docx、xlsx 和 pptx 添加了开放的 xml 格式。这些也可以正常工作,除了 pptx 在运行应用程序时保持灰色。我也尝试过使用导入的 UTI 部分,但没有成功。这是 Info.plist 的摘录,显示了 docx 和 xlsx 条目(有效)以及等效的 pptx 条目无效。

这些工作:

虽然这不是:

我也尝试过导入的 UTI,但没有成功:

任何帮助将不胜感激,谢谢。

0 投票
1 回答
50 浏览

uidocument - 内置操作 UIDocumentBrowserViewController

是否可以控制与 UIDocumentBrowserViewController 关联的 UIDocumentBrowserActionAvailabilityMenu / UIDcoumentBrowserActionAvailabilityNavigationBar 中显示哪些内置操作?

我想将我的应用程序的自定义浏览器转换为 UIDocumentBrowserViewController。虽然我是 UIDocumentBrowserViewController 的新手,但它的共享功能似乎与销售应用内购买不一致,在我的应用中,它可以表示为文档。

0 投票
2 回答
66 浏览

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

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

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

语境:

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

ios - 如何使用 UIDocumentBrowserViewController 在 iCloud 上重新打开 UIDocument

我使用UIDocumentBrowserViewController(它的游戏)开发了一个基于文档的 iOS 应用程序。在启动应用程序时,我想UIDocument自动重新打开上次使用的应用程序。为此,我将创建或打开的 url 字符串存储UIDocument在用户默认值中,并尝试在viewDidLoad我的DocumentBrowserViewController. 这适用于本地存储上的文档,但在 iCloud(或其他一些外国)存储的文档上失败。

本地存储文档的 url 字符串如下所示:

/private/var/mobile/Containers/Data/Application/F4AF5E0B-C261-47F5-95ED-0B8A1DFEEDE6/Documents/Emsave.emp

某些云服务上的相同文档具有以下 url 字符串:

/private/var/mobile/Containers/Shared/AppGroup/83CB33FC-5A87-404F-BFB9-8F2910A2192E/File Provider Storage/485172592867551584/Emsave.emp

我的 DocumentBrowserViewController 的 viewDidLoad:

测试 FileManager.default.fileExists(atPath: url) 似乎总是返回 false 如果 url 字符串指定存储在云服务上的文档,尽管它在那里。

0 投票
1 回答
843 浏览

ios - 将文件扩展名添加到 iOS 文档管理器

我正在为 Swift 应用程序使用默认的 iOS 文件管理器。我正在为 UIDocumentBrowserViewController 编写类,我希望显示整个文件名。例如,我想要 Untitled.txt 而不是 Untitled。或者不是脚本,script.py。

作为旁注,我注意到实际的文件应用程序没有显示扩展名的功能。

0 投票
2 回答
587 浏览

uidocument - UIDocumentBrowserViewController.revealDocument 未按预期工作

该问题涉及使用“复制到...”与我的应用程序共享文档。

该行动的结果是呼吁:

打印语句显示块:documentBrowserViewController.revealDocument被执行而没有错误。

根据文档

如果 importIfNeeded 为真,则文档浏览器在调用完成处理程序之前调用其委托的 documentBrowser( :didImportDocumentAt:toDestinationURL:) 方法(或它的 documentBrowser( :failedToImportDocumentAt:error:) 方法,如果发生错误)。

不过,这两种方法都没有被调用。

笔记:

  • 我已将documentBrowserViewController设置为它自己的委托。
  • 我并不孤单。苹果论坛

我误解了 API 吗?我的目标是在使用(“复制到”)从外部应用程序导入文件时将文件保存到用户文档中。我的计划是这样做: documentBrowser(_:didImportDocumentAt:toDestinationURL:)

0 投票
1 回答
225 浏览

ios - UIDocumentBrowserViewController 忽略 iOS13 设备上的文档类型 (com.apple.pkpass)

在 iOS13(beta 5)设备上运行时,UIDocumentBrowserViewController 不允许选择先前在 Target 设置中设置的文档类型“com.apple.pkpass”(Wallet PKPass)。相同的项目在 iOS12 设备上运行良好。

要重现该问题,只需使用“基于文档的应用程序”模板创建一个新项目(最好使用 Xcode 10 / iOS12)。

然后在目标设置的信息选项卡中添加以下文档类型(保留模板创建的“图像”条目):

名称:“PKPass”

类型:“com.apple.pkpass”

其他文档类型属性:

  • CFBundleTypeRole 字符串“查看者”

  • LSHandlerRank 字符串“备用”

Target 信息选项卡中的文档类型

在 iOS 12 设备上运行此程序时,您将能够查看并选择 .pkpass 文件(我在我的 iCloud Drive 上使用之前从我的钱包中导出的 pkPasses 执行此操作)。

在 iOS13 设备上运行时,.pkpass 文件可见,但半透明且不可选择。图像(已在“基于文档的应用程序”中设置的文档类型)但按预期工作。使用 Xcode 11(beta 5)创建项目会导致相同的结果。

这是 iOS 13 中的错误还是我错过了一些更改或新要求?

0 投票
1 回答
168 浏览

nsfilemanager - 从 UIDocumentBrowserViewController 中的 UserDefaults 以编程方式打开文档

我正在使用 swift 开发基于文档的应用程序UIDocumentBrowserViewController。我希望应用程序默认打开上次会话中使用的上一个文件。退出应用程序时,我将文件 URL 保存在 UserDefaults 中。当我重新启动应用程序时,会UIDocumentBrowserViewController显示它的视图。我想添加viewDidLoad()一个 if 语句来检查 a 是否fileURL存在于UserDefaults. 如果是,我想选择那个文件,打开它并展示它。最简单的方法似乎是弄清楚如何背负presentDocument(at: documentURL)我正在使用的现有方法UIDocumentBrowserViewController,或者可能是 UIDocumentBrowserViewControllerDelegate 方法之一;换句话说,我想以编程方式选择一个文件UIDocumentBrowserViewController并呈现它。但是,当我尝试这样做时,文档无法打开,在UIDocument方法open(completionHandler: )(即完成处理程序报告失败)。我确定我有正确的 fileURL,我尝试使用的文件也在云目录中关于如何实现它的任何想法?

0 投票
1 回答
37 浏览

ios - 如何读取基于 iOS 文档的应用程序的保存位置(iCloud 或本地)的用户偏好?

在开发基于文档的应用程序时,iOS 会在设置应用程序中自动创建关于文档存储(iCloud 或本地)的首选项:店铺位置偏好如何从我的应用程序中读取此首选项?请注意,这不是通用 iCloud 部分中应用程序的启用/禁用 iCloud 开关。