我正在尝试让我的应用程序导入通过电子邮件发送的sqlite文件,因此我在info.plist中创建了文档类型和自定义UTI。但是,当我收到通过电子邮件发送的sqlite文件时,我的应用程序中打开的选项不会出现:
这是文档类型定义:
这是UTI
我现在将其修改为以下内容以创建名为.icx的自定义文件扩展名。但是,当我尝试打开icx附件时,我给出的唯一选项是Dropbox,Mail和FileAppPro:
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeIconFiles</key>
<array>
<string>inCommand icon114</string>
</array>
<key>CFBundleTypeName</key>
<string>icx Database</string>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>LSHandlerRank</key>
<string>Owner</string>
<key>LSItemContentTypes</key>
<array>
<string>com.ncbath.inControl.icx</string>
</array>
</dict>
</array>
<key>UTExportedTypeDeclarations</key>
<array>
<dict>
<key>UTTypeConformsTo</key>
<array>
<string>public.data</string>
</array>
<key>UTTypeDescription</key>
<string>icx Database</string>
<key>UTTypeIdentifier</key>
<string>com.ncbath.inControl.icx</string>
<key>UTTypeSize320IconFile</key>
<string>inCommand icon114</string>
<key>UTTypeSize64IconFile</key>
<string>inCommand icon57</string>
<key>UTTypeTagSpecification</key>
<string>Dictionary</string>
<key>public.filename-extension</key>
<string>icx</string>
<key>public.mime-type</key>
<array>
<string>application/inControl</string>
</array>
</dict>
</array>
答案 0 :(得分:0)
我已修复它 - 我发现如果你在使用UTExportedTypeDeclarations和CFBundleDocumentTypes的GUI条目时不小心,你可以不按顺序获取字典内容 - 在我的例子中是UTTypeTagSpecification。我总结说最好将info.plist视为源并正确编辑它。这是工作代码:
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeIconFiles</key>
<array>
<string>inCommand icon114</string>
</array>
<key>CFBundleTypeName</key>
<string>icx</string>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>LSHandlerRank</key>
<string>Owner</string>
<key>LSItemContentTypes</key>
<array>
<string>com.ncbath.inControl.icx</string>
</array>
</dict>
</array>
<key>UTExportedTypeDeclarations</key>
<array>
<dict>
<key>UTTypeConformsTo</key>
<array>
<string>public.data</string>
</array>
<key>UTTypeDescription</key>
<string>icx</string>
<key>UTTypeIdentifier</key>
<string>com.ncbath.inControl.icx</string>
<key>UTTypeSize320IconFile</key>
<string>inCommand icon114</string>
<key>UTTypeSize64IconFile</key>
<string>inCommand icon57</string>
<key>UTTypeTagSpecification</key>
<dict>
<key>public.filename-extension</key>
<string>icx</string>
<key>public.mime-type</key>
<string>application/x-inControl</string>
</dict>
</dict>
</array>