在 iOS13 中无法在 App 中打开自定义 UTI

Opening Custom UTI in App not working in iOS13

我使用 AirDrop 已经很久了,它允许从我的应用程序中向 from/to iPhone 用户传递文档。该应用程序生成一个简单的 CSV 文件,然后将其空投(或者也可以通过电子邮件发送)到另一台机器,我的应用程序可以在其中打开它并导入它(UTI 已注册为 csv 文件类型)。这已经运行了很长时间,但我现在看到设备 运行ning iOS13 不再将我的应用程序列为能够导入文件。如果我 运行 在 iOS12.4(或更早版本)上使用相同的代码,它可以正常工作,但在 iOS13.1 上,我的应用程序不再注册接收数据。该设备可以完美地 AirDrop 到另一台设备,并且只要目的地不是 iOS13,导入工作正常。只要目的地是 iOS13,我的应用程序就不会被列为可接收。我看不出有什么变化。

信息设置(在 iOS13 之前一直有效)是:

我在 iOS 发行说明中看不到任何暗示这已经改变的内容。有人可以帮忙吗?

由于您和您的应用并未发明 CSV 文件类型,因此您应该为 CSV 使用标准 UTI,而不是发明您自己的。

这意味着您应该使用导入的 UTI 部分来声明 CSV UTI。导出 UTI 部分只能由您的应用独有的新 UTI 使用。

这是我为 CSV 导入的 UTI:

这是我的 CSV 文档类型:

我在 iOS 13 下将 CSV 文件发送到我的应用程序没有问题。


另请注意,在 iOS 13 下,您可能需要点击共享列表末尾的 "More" 图标 sheet 才能看到您的应用(以及可能的其他)作为选择。