![]() |
1
399
文件类型处理是iPhoneOS3.2的新功能,它不同于现有的自定义URL方案。您可以注册应用程序来处理特定的文档类型,任何使用文档控制器的应用程序都可以将这些文档的处理交给您自己的应用程序。 例如,我的应用程序 Molecules (源代码可用)处理.pdb和.pdb.gz文件类型(如果通过电子邮件或其他受支持的应用程序接收)。 要注册支持,您需要在info.plist中包含以下内容:
提供了两个图像,用作邮件和其他能够显示文档的应用程序中支持类型的图标。这个
上面示例中使用的一个uti是系统定义的,但另一个是特定于应用程序的uti。需要导出特定于应用程序的uti,以便系统上的其他应用程序可以知道它。为此,您需要在info.plist中添加一个部分,如下所示:
此特定示例导出
有了这个功能,您的应用程序将能够处理附加到电子邮件或来自系统上其他应用程序的文档。在邮件中,您可以点击并按住以显示可以打开特定附件的应用程序列表。
打开附件后,您的应用程序将启动,您需要在
注意,这与我们用于处理自定义url方案的方法相同。您可以使用如下代码将文件url与其他url分开:
|
![]() |
2
23
除了brad的出色回答之外,我发现(至少在ios 4.2.1上)从邮件应用程序打开自定义文件时,如果以前打开过附件,则不会触发或通知您的应用程序。“打开方式”弹出窗口出现,但什么也不做。
这似乎是通过(重新)移动收件箱目录中的文件来解决的。一种安全的方法似乎是在文件打开时(在
|
![]() |
3
16
大警告:100%确保你的扩展没有绑定到某个mime类型。 我们使用扩展名“.icz”作为自定义文件的扩展名,基本上是永久的,safari永远不会让你打开它们,说“safari不能打开这个文件”。无论我们做了什么,或者尝试了上面的ut内容。 最后我意识到有些ut*c函数可以用来探索各种各样的东西,而.icz给出了正确的答案(我们的应用程序): 应用程序加载在顶部,只需这样做…
在这行后面加上break,看看uti和ur是什么——在我们的例子中,它是我们想要的标识符),bundle url(ur)指向我们应用程序的文件夹。 但是dropbox为我们的链接返回的mime类型,您可以通过执行例如。
内容类型是我们想要的。Dropbox声称这是一个文本/日历条目。伟大的。但在我的例子中,我已经尝试过将文本/日历放入我的应用程序的mime类型中,但仍然不起作用。相反,当我试图获取文本/日历mimetype的uti和bundle url时,
我将“com.apple.ical.ics”作为uti,将“../mobilecoretypes.bundle/”作为bundle url。不是我们的应用,而是苹果。因此,我尝试将com.apple.ical.ics与我自己的内容类型一起放入lsitemcontenttypes,并在导出中放入utconformsto,但不执行。 所以基本上,如果苹果认为他们想在某个时候处理某种形式的文件类型(注意,这可能是在你的应用程序运行10年后创建的),你就必须更改扩展名,因为他们根本不允许你处理文件类型。 |
![]() |
Mark George · 如何在swift ui中为文本提供内部填充 1 年前 |
![]() |
Safa Ads · CDN:无法下载中继URL:https://cdn.jsdelivr.net/cocoa/Specs/2/e/c/RxSwift/3.0.0-rc.1/RxSwift.podspec.json响应:SSL连接错误 1 年前 |
![]() |
Frakcool · 满足条件时,SwiftUI动画背景颜色更改 2 年前 |