UTI

作者: e18fe4955e6e | 来源:发表于2018-08-15 15:24 被阅读25次

    iOS系统中为了更好的进行类型标识,而提供的一套共用的规范,(Uniform Type Identifier) Apple文档

    UTI 定义

    下图为Apple定义的jpeg的 UTI类型 - public.jpeg

    uti

    使用UTI来实现app之间文件传输

    • 使用系统UTI
      假如我们要实现 QQ 把doc文件传输 到自己的app中,查看文档可以看到系统定义的doc的uti类型 UTI文档
    word.doc

    然后把 com.microsoft.word.doc 添加到info.plist 的 Document Content Type UTIs中

    791DB9A6-A06F-49BF-8BCF-B46011791FC8.png
    • Handler rank 有四个值Owner、Default、Alternate、None 不同的权限显示的位置不同Owner> Default> Alternate> None
      info.plist 所有key Apple文档
      在QQ上选择doc文件,选择其他程序打开时,就会显示我们的app。点击app系统会把传输的文件放到我们自己app的inbox目录下。copy结束后会执行 appDelegate中的方法:
     func application(_ app: UIApplication, open url: URL,
                         options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool {
            FileStorage.storage(url: url)
            return true
        }
    
    • 自定义UTI
      假如我们有一个stl格式的文件 stl(3D模型文件类型)想通过QQ等app 传输到我们自己的app中然后显示3D模型。
      根据 Apple UTI 自定义uti,自定义的uti要Exported Type UTI 才可以使用,在info.plist中添加key: Exported Type UTIs UTI文档
    .stl

    把定义的stl 的uti Identifier 添加到info.plist的 Document types -> Document Content Type UTIs 中、就可以实现 .stl 后缀的文件传输

    2D19733A-C296-4DF7-A84C-772B3731390B.png
    uti.gif

    相关文章

      网友评论

          本文标题:UTI

          本文链接:https://www.haomeiwen.com/subject/yfcwbftx.html