创建用于空投的自定义 UTI,iOS
Creating custom UTI for use with airdrop, iOS
我在 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
如果您的应用定义了新的文件类型。那么您需要在 Info.plist
.
的 UTExportedTypeDeclarations
部分定义该自定义 UTI
这可以在导出的 UTI 部分下应用目标的信息选项卡上 Xcode 中设置,或者您可以手动更新 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>
请注意 CFBundleDocumentTypes
的 LSItemContentTypes
值必须如何匹配 UTI 的 UTTypeIdentifier
。
我在 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
如果您的应用定义了新的文件类型。那么您需要在 Info.plist
.
UTExportedTypeDeclarations
部分定义该自定义 UTI
这可以在导出的 UTI 部分下应用目标的信息选项卡上 Xcode 中设置,或者您可以手动更新 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>
请注意 CFBundleDocumentTypes
的 LSItemContentTypes
值必须如何匹配 UTI 的 UTTypeIdentifier
。