내 응용 프로그램에서는 다른 응용 프로그램에서도 사용하는 비 시스템 확장명을 읽는 QuickLook 플러그인을 포함하고자했습니다 (이 예제에서는 RAR을 사용합시다). 그래서 같은 내 응용 프로그램 번들의의 Info.plist에 Exported UTI
로 확장을 선언UTI 및 파일 확장자 연결
<key>UTExportedTypeDeclarations</key>
<array>
<dict>
<key>UTTypeConformsTo</key>
<array>
<string>public.data</string>
<string>public.archive</string>
<string>com.rarlab.rar-archive</string>
</array>
<key>UTTypeDescription</key>
<string>Custom RAR Archive</string>
<key>UTTypeIdentifier</key>
<string>com.my-company.rarx-archive</string>
<key>UTTypeTagSpecification</key>
<dict>
<key>public.filename-extension</key>
<array>
<string>rarx</string>
</array>
</dict>
</dict>
</array>
그리고 나는 또한 적절하게 RAR UTI를 가져옵니다
<key>UTImportedTypeDeclarations</key>
<array>
<dict>
<key>UTTypeConformsTo</key>
<array>
<string>public.data</string>
<string>public.archive</string>
</array>
<key>UTTypeDescription</key>
<string>RAR Archive</string>
<key>UTTypeIconFile</key>
<string>RAR</string>
<key>UTTypeIdentifier</key>
<string>com.rarlab.rar-archive</string>
<key>UTTypeTagSpecification</key>
<dict>
<key>public.filename-extension</key>
<array>
<string>rar</string>
<string>rarx</string>
</array>
</dict>
</dict>
</array>
RARX 파일과 관련된 얻을 것으로 보인다 결코 내 애플 리케이션을 실행 한 후, 비록.
mdls -name kMDItemContentTypeTree "/Users/Me/.../A File.rarx"
>>> kMDItemContentTypeTree = (
"com.another-company.rarx-archive",
"public.data",
"public.item",
"public.archive"
)
왜 내는 요로 감염은 (com.my-company.rarx-archive
)는이 목록에 표시되지 않습니다 연결을 확인하려면, 정말 같은 mdls
를 사용? 파일이 com.another-company.rarx-archive
UTI와 연결되어 있기 때문에 이것이 내 Quick Look 플러그인이 실행되지 않는다고 생각합니다. 내 시스템의 다른 앱이 대신 사용되는 앱입니다. 디버그 출력을 사용하여 qlmanage
을 실행하면이 문제가 해결됩니다.