簡體   English   中英

Finder 不會為 JPEG (public.jpeg) 文件類型調用我的快速查找生成器

[英]Finder will not invoke my Quick Look generator for JPEG (public.jpeg) file type

我已經實現了一個 Quick Look 生成器,它可以顯示多種圖像類型,包括 JPEG 文件。

系統正在調用它來渲染出現在其屬性列表中的任何文件類型的縮略圖和預覽,除了 public.jpeg。

<key>CFBundleDocumentTypes</key>
<array>
    <dict>
        <key>CFBundleTypeName</key>
        <string></string>
        <key>CFBundleTypeRole</key>
        <string>QLGenerator</string>
        <key>LSItemContentTypes</key>
        <array>
            <string>public.jpeg</string>
            <string>com.canon.cr2-raw-image</string>
            <string>com.sony.arw-raw-image</string>
        </array>
    </dict>
</array>

鑒於上面的屬性列表片段,我的生成器將被 .CR2 和 .ARW 文件成功調用,但永遠不會被 .JPG 文件調用。

我已經使用 qlmanage 重置了 Quick Look 生成器數據庫,並使用 qlmanage -m 確認我的生成器與 public.jpeg UTI 相關聯(就像本示例中的其他兩個 UTI 一樣)。

qlmanage -m | grep jpeg
public.jpeg -> /Applications/MyApp.app/Contents/Library/QuickLook/MyQLGenerator.qlgenerator (123)

盡管如此,當我在 Finder 中選擇一個 JPEG 文件並按空格鍵時,Quick Look 總是會調用默認生成器:

10/26/15 6:23:49.343 PM com.apple.quicklook.satellite[21978]: [QL] <QLThumbnailRequest testfile.jpg>. Content type UTI: public.jpeg. Generator used: <QLGenerator /System/Library/QuickLook/Image.qlgenerator>

當我特別要求它調用我的生成器時,Quick Look 甚至會調用它:

qlmanage -p -c public.jpeg -g "/Applications/MyApp.app/Contents/Library/QuickLook/MyQLGenerator.qlgenerator" testfile.jpg 
Testing Quick Look preview with files:
    testfile.jpg
    - force using content type UTI: public.jpeg
    - force using generator at path:
    /Applications/MyApp.app/Contents/Library/QuickLook/MyQLGenerator.qlgenerator

2015-10-26 18:43:34.450 qlmanage[22054:507] *** CFMessagePort: bootstrap_register(): failed 1100 (0x44c) 'Permission denied', port = 0x8c27, name = 'com.apple.tsm.portname'
See /usr/include/servers/bootstrap_defs.h for the error codes.
2015-10-26 18:43:34.475 qlmanage[22054:507] *** CFMessagePort: bootstrap_register(): failed 1100 (0x44c) 'Permission denied', port = 0x8d47, name = 'com.apple.CFPasteboardClient'
See /usr/include/servers/bootstrap_defs.h for the error codes.
2015-10-26 18:43:34.475 qlmanage[22054:507] Failed to allocate communication port for com.apple.CFPasteboardClient; this is likely due to sandbox restrictions    

( bootstrap_register() 錯誤在 Quick Look 中似乎無處不在,並且在預覽其他文件類型時也會出現,但它們按預期工作。)

有沒有辦法讓 Quick Look 調用我的 JPEG 文件生成器?

這似乎是 MacOS 10.9 中的一個錯誤。 qlImageSize 項目的作者遇到了同樣的問題並提交了雷達報告

qlImageSize 討論線程的另一位參與者評論說:“Apple 回應了我的錯誤報告以確認優勝美地的解決方案。沒有提到小牛隊。”

我自己的經歷是一樣的。 在 10.9 下沒有為 public.jpeg 調用的相同快速查看生成器在 10.10 和 10.11 下按預期工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM