使用DirectoryWatcher.m在应用程序中触发事件

时间:2016-01-04 08:13:07

标签: objective-c ios9 nsdocumentdirectory

我正在浏览:Apple : DocInteration代码并且他们已经提供了一个DirectoryWatcher.m,用于监视应用文档目录中的目录更改。

每当用户与Microsoft Outlook App共享文件时,应用程序将直接将文件附加到邮件中。 基本上,当文件被复制到其文档目录时,它会触发事件。 我也想触发事件(不预览文档) 我怎么做 ? 他PDF Viewer Source Code也做了这件事,并触发应用程序打开在自定义查看器中复制的PDF文件。但它只在应用程序处于后台然后变为活动状态时才会执行。 我想让应用程序(即使终止状态)在与该应用程序共享文件时触发事件。

1 个答案:

答案 0 :(得分:0)

要从其他应用接收文件:

基本上,您必须在应用中启用该功能。

来自Apple doc

  

从其他应用程序打开文件

     

系统可能会要求您的应用打开特定文件并将其呈现给用户。这通常是因为另一个应用程序遇到您已注册支持的类型的文件。在这种情况下,系统会为您的应用提供文件的URL,并将您的应用程序带到前台。

如果系统注册了其他应用,您可以将其唤醒。

Apple Doc: Registering the File Types Your App Supports

https://stackoverflow.com/a/26351211/2707614

当某些数据发送到您的应用时,它也会调用该委托:

func application(application: UIApplication, openURL url: NSURL [...]

将文件发送到其他应用:

您可以使用" Open In"系统提供的功能。

Apple Doc: Open In class

A github example用于UIDocumentInteractionController用法。