我已经使用 AirDrop 很长时间了,以允许从我的应用程序内将文档从 iPhone 用户传递到 iPhone 用户。该应用程序生成一个简单的 CSV 文件,然后将其空投(或者也可以通过电子邮件发送)到另一台计算机,我的应用程序可以在其中打开它并导入它(UTI 已注册为 csv 文件类型)。这已经工作了很长一段时间,但我现在看到运行 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 下,您可能需要点击共享表中列表末尾的“更多”图标才能看到您的应用(可能还包括其他应用)。
关于ios - 在 iOS13 中无法在应用程序中打开自定义 UTI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58149619/