我还有Xcode 4的另一个问题。我非常喜欢新的IDE,但有一些我还没有开始工作的东西。一件事是使用Xcode 4注册文档类型。 我用旧的方式通过plist文件尝试了它,但它没有用。 (意味着我无法使用我的应用程序打开文件)但我现在不知道如何使用Xcode 4的界面进行设置。
我的最新尝试如下:(在info.plist中复制了Xcode的条目)
<key>UTExportedTypeDeclarations</key>
<array>
<dict>
<key>UTTypeConformsTo</key>
<array>
<string>public.plain-text</string>
</array>
<key>UTTypeDescription</key>
<string>Configuration File</string>
<key>UTTypeIdentifier</key>
<string>com.myname.projec.iws</string>
</dict>
</array>
和:
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeIconFiles</key>
<array>
<string>AnIcon-320</string>
</array>
<key>CFBundleTypeName</key>
<string>Config File</string>
<key>LSItemContentTypes</key>
<array>
<string>com.myname.projec.iws</string>
</array>
</dict>
</array>
这不起作用。 Mail中的文件无法使用我的应用程序打开。
有没有人有Xcode 4的工作示例或教程如何做到这一点。我没有任何进一步的想法如何让它工作。
桑德罗
答案 0 :(得分:4)
我认为缺少角色和文件扩展名。
如果要指定文件扩展名,则需要添加 UTTypeTagSpecification :
<key>UTExportedTypeDeclarations</key>
<array>
<dict>
<key>UTTypeConformsTo</key>
<array>
<string>public.text</string>
</array>
<key>UTTypeDescription</key>
<string>my document type</string>
<key>UTTypeIdentifier</key>
<string>com.mycompany.myfiletypename</string>
<key>UTTypeTagSpecification</key>
<dict>
<key>public.filename-extension</key>
<array>
<string>iws</string>
</array>
</dict>
</dict>
对于该角色,您需要添加 CFBundleTypeRole :
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeName</key>
<string>My file</string>
<key>CFBundleTypeIconFiles</key>
<array>
<string>document-320.png</string>
<string>document-64.png</string>
</array>
<key>LSHandlerRank</key>
<string>Alternate</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
<key>LSItemContentTypes</key>
<array>
<string>com.mycompany.myfiletypename</string>
</array>
</dict>
</array>
答案 1 :(得分:1)
您可以通过设置“文档类型”=&gt;来编辑“com.mycompany.myfiletypename”的等效内容。 “项目0”=&gt; “文档操作系统类型”=&gt; “项目0”。
默认值为“????”您可以将其更改为“com.mycompany.myfiletypename”。
我认为其他属性不言自明。
答案 2 :(得分:1)
我只是查看了我的旧.plist文件,并将键和值剪切并粘贴到Xcode 4项目中从Xcode3版本导入的新项目中。它显然“丢失”了UTI的.plist中的一些信息。但是,当我将缺少的键/值粘贴到使用Xcode3制作的.plist中时,新值工作并且它们出现在GUI中,因此您现在可以“浏览”GUI并查看其中的内容。对GUI进行逆向工程,但它有效。