- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的基于文档浏览器的测试应用运行良好。它显示浏览器。它有一个特殊的导出文档类型。我可以创建那种类型的文件,我可以打开那种类型的文件。
只有一个问题。我的应用程序还包括缩略图扩展。据我所知,该扩展的单一方法(QLThumbnailProvider provideThumbnail(for:_:)
的覆盖)从未被调用。因此,我的文件(如文档浏览器、文件应用程序等中所示)没有正确的缩略图。
有没有人获得在 iOS 13 中工作的缩略图扩展?我正在设备上进行测试(因为文档浏览器应用程序无法在模拟器上运行)。
这是我的 Info.plist 设置。首先,应用程序。这是我们定义文档类型和导出 UTI 的部分:
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeIconFiles</key>
<array/>
<key>CFBundleTypeName</key>
<string>PeopleGroup2</string>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>LSHandlerRank</key>
<string>Owner</string>
<key>LSItemContentTypes</key>
<array>
<string>com.neuburg.pplgrp2new</string>
</array>
</dict>
</array>
<key>UTExportedTypeDeclarations</key>
<array>
<dict>
<key>UTTypeConformsTo</key>
<array>
<string>public.content</string>
<string>public.data</string>
</array>
<key>UTTypeDescription</key>
<string>PeopleGroup2</string>
<key>UTTypeIconFiles</key>
<array/>
<key>UTTypeIdentifier</key>
<string>com.neuburg.pplgrp2new</string>
<key>UTTypeTagSpecification</key>
<dict>
<key>public.filename-extension</key>
<string>pplgrp2new</string>
</dict>
</dict>
</array>
这是 Thumbnail Extension Info.plist 的关键部分:
<key>NSExtension</key>
<dict>
<key>NSExtensionAttributes</key>
<dict>
<key>QLSupportedContentTypes</key>
<array>
<string>com.neuburg.pplgrp2new</string>
</array>
<key>QLThumbnailMinimumDimension</key>
<integer>10</integer>
</dict>
<key>NSExtensionPointIdentifier</key>
<string>com.apple.quicklook.thumbnail</string>
<key>NSExtensionPrincipalClass</key>
<string>$(PRODUCT_MODULE_NAME).ThumbnailProvider</string>
</dict>
如您所见,缩略图扩展支持的内容类型与应用导出的 UTI 匹配。但是 ThumbnailProvider 代码显然没有被调用。
这是缩略图提供程序代码,只是一个最低限度的测试:
@objc class ThumbnailProvider: QLThumbnailProvider {
override func provideThumbnail(for request: QLFileThumbnailRequest,
_ handler: @escaping (QLThumbnailReply?, Error?) -> Void) {
let url = Bundle.main.url(forResource: "smiley", withExtension: "jpg")!
let reply = QLThumbnailReply(imageFileURL: url)
handler(reply, nil)
}
}
但是好像没有调用。
谁能给我一个实际有效的例子?
实际测试项目在这里:
https://github.com/mattneub/Programming-iOS-Book-Examples/tree/master/bk2ch23p810DocumentBrowser
编辑:iOS 13.2 的发布没有神奇地使它开始工作。
最佳答案
自 iOS13 以来,有一个新的 QuickLookThumbnailing.framework 可以处理 iOS 和 macOS 的缩略图。确保它由您的扩展程序链接,否则当 dyld 尝试加载框架时您将无声地崩溃。
关于iOS 13 缩略图扩展 (QLThumbnailProvider) 未被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58468996/
我正在开发一个 QLThumbnailProvider 扩展来显示我的文档类型的缩略图。我的扩展程序似乎没有被调用 - 我的缩略图没有出现,我没有看到我添加的日志记录出现在任何日志文件中。 我有一个基
我的基于文档浏览器的测试应用运行良好。它显示浏览器。它有一个特殊的导出文档类型。我可以创建那种类型的文件,我可以打开那种类型的文件。 只有一个问题。我的应用程序还包括缩略图扩展。据我所知,该扩展的单一
我是一名优秀的程序员,十分优秀!