UIDocumentBrowserViewController 忽略 iOS13 设备上的文档类型(com.apple.pkpass)

Posted

技术标签:

【中文标题】UIDocumentBrowserViewController 忽略 iOS13 设备上的文档类型(com.apple.pkpass)【英文标题】:UIDocumentBrowserViewController ignoring Document Type (com.apple.pkpass) on iOS13 device 【发布时间】:2019-08-07 13:27:39 【问题描述】:

ios13(beta 5)设备上运行时,UIDocumentBrowserViewController 不允许选择之前在 Target 设置中设置的文档类型“com.apple.pkpass”(Wallet PKPass)。相同的项目在 iOS12 设备上运行良好。

要重现该问题,只需使用“基于文档的应用程序”模板创建一个新项目(最好使用 Xcode 10 / iOS12)。

然后在目标设置的信息选项卡中添加以下文档类型(保留模板创建的“图像”条目):

名称:“PKPass”

类型:“com.apple.pkpass”

其他文档类型属性:

CFBundleTypeRole 字符串“查看者”

LSHandlerRank 字符串“备用”

在 iOS 12 设备上运行此程序时,您将能够查看和选择 .pkpass 文件(我在我的 iCloud Drive 上使用之前从我的钱包中导出的 pkPasses 执行此操作)。

在 iOS13 设备上运行时,.pkpass 文件可见,但半透明且不可选择。图像(已在“基于文档的应用程序”中设置的文档类型)但按预期工作。使用 Xcode 11(beta 5)创建项目会导致相同的结果。

这是 iOS 13 中的错误还是我错过了一些更改或新要求?

【问题讨论】:

你可以尝试添加 com.apple.pkpass-data 吗? 谢谢@m1sh0,解决了这个问题!请发表您的评论作为答案,以便我接受。 【参考方案1】:

PKPass 文档有 com.apple.pkpass 和 com.apple.pkpass-data 两种类型。你应该保留它们。

【讨论】:

以上是关于UIDocumentBrowserViewController 忽略 iOS13 设备上的文档类型(com.apple.pkpass)的主要内容,如果未能解决你的问题,请参考以下文章