iphone – 如何检查是否有任何应用程序与文件扩展名相关联

iphone – 如何检查是否有任何应用程序与文件扩展名相关联,第1张

概述我想在我的iOS应用程序中制作“Open in ..”功能. 有没有办法检查此设备上的任何应用是否与我要共享的文件扩展名相关联? 如果当前设备上没有应用程序打开具有此类扩展名的文件,则单击“打开方式…”按钮后将不会显示UIDocumentInteractionController,但我不希望在这种情况下显示此按钮. 所以问题是:如何检查设备上的任何应用程序是否可以打开某个具有特定扩展名的文件? 更 我想在我的iOS应用程序中制作“Open in ..”功能.

有没有办法检查此设备上的任何应用是否与我要共享的文件扩展名相关联?

如果当前设备上没有应用程序打开具有此类扩展名的文件,则单击“打开方式…”按钮后将不会显示UIdocumentInteractionController,但我不希望在这种情况下显示此按钮.

所以问题是:如何检查设备上的任何应用程序是否可以打开某个具有特定扩展名的文件?

更新:

例如,UIdocumentInteractionController具有NSArray属性图标.

它包含可以使用我的扩展名打开文件的所有应用程序的图像.但如果没有应用程序,则会显示空应用程序的图像.

所以我无法使用docInteractionController.icons.count == 0来检查它.我正在寻找其他技巧.

提前致谢.

解决方法 虽然UIdocumentInteractionController没有提供预先发现是否有任何可以处理文档的应用程序的方法,但是-presentopenInMenuFromrect:将返回一个标志,指示是否有任何应用程序可以打开文档.这要求您已经设置并显示控制器,这不是最佳的.

有一个解决方法,有点Hacky但功能:在调用“真正的”交互控制器之前,使用虚拟文档创建一个虚拟文档,并从窗口边界的矩形中显示它.这可以保证它在屏幕外“显示”,因此您的用户将无法看到它.此时,您从-present返回了标志,您可以立即关闭虚拟控制器,然后继续显示您的UI.

总结

以上是内存溢出为你收集整理的iphone – 如何检查是否有任何应用程序与文件扩展名相关联全部内容,希望文章能够帮你解决iphone – 如何检查是否有任何应用程序与文件扩展名相关联所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1083985.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存