我是靠谱客的博主 壮观彩虹,最近开发中收集的这篇文章主要介绍第三方调用自己的App打开文件第三方调用自己的App打开文件,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

第三方调用自己的App打开文件

在程序中有这样的需求,例如QQ中有个pdf文件,然后可以让自己的app打开这个pdf文件,弹出的选择框如下:
01
先要在Target->Info->Document Types下注册app支持的类型,可参考Registering the File Types Your App Supports

即在Info.plist包含CFBundleDocumentTypesCFBundleDocumentTypes是一个字典的集合,可以包含下面的key:

  • CFBundleTypeName specifies the name of the document type.
    指定文档类型名称
  • CFBundleTypeIconFiles is an array of filenames for the image resources to use as the document’s icon.
    是一个数组,包含多个图片文件名,用于作为该文档的图标
  • LSItemContentTypes contains an array of strings with the UTI types that represent the supported file types in this group.
    是一个数组,包含多个 UTI 类型的字符串。UTI 类型是本文档类型(组)所包含的文件类型
  • LSHandlerRank describes whether this application owns the document type or is merely able to open it. (For a list of values for LSHandlerRank, see CFBundleDocumentTypes.)
    表示应用程序是“拥有”还是仅仅是“打开”这种类型而已

如进行如下的设置:

02
Types的值可以参考System-Declared Uniform Type Identifiers

之后,Info.plist会包含如下的内容:

03
设置之后,还需要在AppDelegate实现如下的方法:

- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey, id> *)options

获取到传递过来的url,我自己测试了下,打开的文件都被复制到了沙盒的Document/Inbox目录下

如果要预览文件,可能还需要将url中的file://替换为空字符串

参考文档:

  • iOS中打开的文件如何用其他应用打开选择自己的app
  • iOS实现App之间的内容分享
  • 为自己的APP增加OpenIn功能
  • iOS-关于使用其他应用打开本应用文档
  • UIDocumentInteractionController之程序间文档共享

最后

以上就是壮观彩虹为你收集整理的第三方调用自己的App打开文件第三方调用自己的App打开文件的全部内容,希望文章能够帮你解决第三方调用自己的App打开文件第三方调用自己的App打开文件所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(54)

评论列表共有 0 条评论

立即
投稿
返回
顶部