iOS 在“文件”应用中点击文件时打开应用

iOS open app when file is tapped in `Files` app

某些 iOS 具有自定义文件类型的应用程序会在点击该类型的文件时自动启动(例如,如果在文件应用程序中点击页面文件,页面就会启动)。作为 UTI 所有者的 iOS 应用程序如何获得相同的行为? (UTI 特别符合 com.apple.package

我正在使用 https://www.raywenderlich.com/133825/uiactivityviewcontroller-tutorial 中的示例 BeerTracking 应用程序。当在“文件”应用程序/“邮件”/“备忘录”中点击从应用程序导出的文件时,会出现一个空的快速预览 UI,然后用户才能通过点击共享在应用程序中打开文件。

在 info.plist 中添加 BOOLEAN 类型的键 "Supports opening documents in place" 并将其设置为 TRUE。

你可以检查

BOOL openInPlace = [options[UIApplicationOpenURLOptionsOpenInPlaceKey] boolValue];

- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString *,id> *)options

如果提供的 url 是一个应该打开的文件(很可能来自文件应用程序)。

首先您需要启用文件共享。通过在您的 Info.plist 文件

中添加这 2 个键值 YES
    1. UIFileSharingEnabled
    2. LSSupportsOpeningDocumentsInPlace

** 您可以使用 UIDocumentInteractionController 做更多事情 link - https://developer.apple.com/documentation/uikit/uidocumentinteractioncontroller

  • 要从 iOS 文件应用打开文件类型到您的应用,您需要在您的应用中具有云共享功能,以便您的应用可以将文件共享到 iCloud 中名为由你应用

  • 然后您可以将任何文件共享到 iCloud 驱动器,它们将显示在 iOS 默认文件应用程序中。

  • 当您点击此处的任何文件(例如图片、pdf、视频)时,它们将在您的应用中打开。

    UIFileSharingEnabled 将为您代劳。