2013-06-03 28 views
0

我想让我的应用程序导入电子邮件sqlite文件,所以我创建了文档类型和自定义UTI在我的info.plist。然而,当我收到一封电子邮件sqlite的文件在我的应用程序打开该选项不会出现:自定义sqlite UTI不工作

这里的文档类型定义:

DocType

和这里的UTI

UTI

我现在已经修改了以下内容来创建一个名为.icx的自定义文件扩展名。然而,当我试图打开一个附件ICX,我给出的唯一选项的Dropbox,邮件和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

我已经固定它 - 我发现,如果你不小心,当你使用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>