创建自定义UTI以与airdrop,iOS一起使用

时间:2017-07-17 22:03:48

标签: ios uti airdrop

我在info.plist中使用此代码:

<key>CFBundleDocumentTypes</key>
<array>
    <dict>
        <key>CFBundleTypeName</key>
        <string>AirDrop Profile File Type</string>
        <key>LSHandlerRank</key>
        <string>Default</string>
        <key>LSItemContentTypes</key>
        <array>
            <string>com.apple.customProfileUTI.customprofile</string>
        </array>
    </dict>
</array>

声明一个自定义文件类型,按答案here,并查看链接的示例代码,但无法很好地遵循它。 我有一个结构,我转换为数据,然后与airdrop共享,我试图了解如何创建一个数据类型,使接收设备知道打开我的应用程序接收数据。

任何人都可以为我清理一下吗?

随后回答here

1 个答案:

答案 0 :(得分:4)

如果您的应用定义了新的文件类型。然后,您需要在UTExportedTypeDeclarations的{​​{1}}部分中定义该自定义UTI。

可以在导出的UTI部分下的应用目标的信息选项卡上的Xcode中设置,也可以手动更新Info.plist,如下所示。

Info.plist用于声明您的应用可以打开的文件类型。

这是一个组合文件类型,恰好是一个扩展名为CFBundleDocumentTypes的二进制文件。

.fun

有了这些功能,您还可以设置<key>UTExportedTypeDeclarations</key> <array> <dict> <key>UTTypeConformsTo</key> <array> <string>public.data</string> </array> <key>UTTypeDescription</key> <string>My Custom Binary File</string> <key>UTTypeIdentifier</key> <string>com.mycompany.myapp.myfiletype</string> <key>UTTypeTagSpecification</key> <dict> <key>public.filename-extension</key> <array> <string>fun</string> </array> </dict> </dict> </array> ,以便您的应用可以选择打开此类文件:

CFBundleDocumentTypes

请注意<key>CFBundleDocumentTypes</key> <array> <dict> <key>CFBundleTypeIconFiles</key> <array/> <key>CFBundleTypeName</key> <string>My Custom Binary File</string> <key>LSHandlerRank</key> <string>Owner</string> <key>LSItemContentTypes</key> <array> <string>com.mycompany.myapp.myfiletype</string> </array> </dict> </array> 的{​​{1}}值必须与UTI的LSItemContentTypes匹配。