【发布时间】:2015-03-23 23:23:06
【问题描述】:
我的申请差不多完成了。用户可以编辑特殊文件。现在我想提供一个 Finder 预览,但我卡住了。
我观看了有关 Quick Lock 的苹果视频,但我很困惑。
例如,TextWrangler 具有文件内容的可滚动视图。这就是我想要的文档。
你能给我一个提示吗?
到目前为止,我的知识是我必须编写一个 QuickLock 插件。 XCode 模板是用 c 编写的,所以我建议我必须使用 c,而不是 swift。 如果我是对的两个问题: - 我如何从文件中获得带有文本内容的滚动视图 - 如何将 .qlgenerator 放在我的主项目的 Contents/Library/.. 文件夹中?
非常感谢您的帮助。两天阅读并不总是让事情变得清晰的方法。
*** 更新 ** 这是我的 info.plist CFBundleDocumentTypes
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>json</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>Icon_512x512@2x</string>
<key>CFBundleTypeName</key>
<string>JSON Document</string>
<key>CFBundleTypeOSTypes</key>
<array>
<string>TEXT</string>
</array>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>LSItemContentTypes</key>
<array>
<string>public.json</string>
<string>public.text</string>
<string>public.data</string>
<string>public.item</string>
<string>public.content</string>
</array>
<key>NSDocumentClass</key>
<string>$(PRODUCT_MODULE_NAME).Document</string>
</dict>
</array>
<key>UTExportedTypeDeclarations</key>
<array>
<dict>
<key>UTTypeConformsTo</key>
<array>
<string>public.json</string>
</array>
<key>UTTypeDescription</key>
<string>JSON source file</string>
<key>UTTypeIconFile</key>
<string>Icon_512x512@2x</string>
<key>UTTypeIdentifier</key>
<string>public.json</string>
<key>UTTypeTagSpecification</key>
<dict>
<key>public.filename-extension</key>
<array>
<string>json</string>
</array>
</dict>
</dict>
</array>
<key>UTImportedTypeDeclarations</key>
<array>
<dict>
<key>UTTypeConformsTo</key>
<array>
<string>public.json</string>
</array>
<key>UTTypeDescription</key>
<string>JSON source file</string>
<key>UTTypeIconFile</key>
<string>Icon_512x512@2x</string>
<key>UTTypeIdentifier</key>
<string>public.json</string>
<key>UTTypeTagSpecification</key>
<dict>
<key>public.filename-extension</key>
<array>
<string>json</string>
</array>
</dict>
</dict>
</array>
但这仍然是没有预览文本甚至图标的预览:
【问题讨论】:
-
部分取决于UTI
-
.js 将被解释为操作系统已经知道的 JavaScript 文件,并且可能默认使用 QL 渲染器来处理纯文本。
-
我必须在我的主应用程序中说出来吗?我可以说我的应用程序处理的是纯文本文件吗?
-
通常它只是对 Info.plist 的补充,但 Xcode 有一个 UI 用于此。查看基于文档的应用程序编程指南以及 TextEdit 示例代码。然后查看 TextWrangler 的 Info.plist 或任何其他应用程序。
-
如果尚未为用户安装 QuickLook 插件,您可能需要编写自己的 QuickLook 插件并让您的应用将其安装到正确的位置 (
/Library/QuickLook/)。 (取决于你想要什么样的预览)