我有一個iPad應用程序,它具有通過UTI和CFBundleDocumentTypes聲明的自定義文件類型。有沒有辦法阻止像Mail和Dropbox這樣的應用程序顯示文件預覽,同時仍然允許「打開在...」選項啓動我的應用程序?我已將UITypeConformsTo和UTTypeTagSpecification設置爲應用程序Info-plist中的自定義值,但其他應用程序仍然使用由我的應用程序創建的自定義擴展預覽文件。我認爲預覽的能力取決於UTTypeTagSpecification(即MIME類型)中的值,但顯然不是。謝謝。防止在iPad上預覽自定義UTI文件類型
1
A
回答
0
我發現的唯一解決方案是壓縮文件(例如ZIP)。這將阻止iPad應用程序顯示內容。在聲明自定義文檔類型時,您仍然需要小心。否則,即使應用程序被壓縮,應用程序仍可能嘗試預覽,並最終顯示亂碼。
0
每個Quick Look生成器的Info.plist定義了它可以處理的UTI類型。
例如:/System/Library/QuickLook/Text.qlgenerator/Contents/Info.plist是系統中默認「文本」生成器的Info.plist路徑。
生成器的另外兩個文件夾是/ Library/QuickLook和〜/ Library/QuickLook。
你應該會看到類似這樣的一些線在靠近頂部:
<key>CFBundleTypeRole</key>
<string>QLGenerator</string>
<key>LSItemContentTypes</key>
<array>
<string>public.plain-text</string>
<string>public.rtf</string>
<string>com.apple.rtfd</string>
<string>org.oasis-open.opendocument.text</string>
<string>com.apple.property-list</string>
<string>public.xml</string>
</array>
各種應用程序的Info.plist文件中定義的文件擴展名屬於哪個類型UTI。操作系統將使用文件擴展名來獲取UTI。
您的自定義UTI /文件擴展名可能與現有定義衝突。這聽起來像是你描述的問題的一個可能原因。
我建議您查看默認值(以及您安裝的程序的導出UTI類型),並確保您的自定義UTI(文件擴展名也是!)確實是100%唯一的。
不要讓它繼承任何東西,或者某些生成器可能會決定它嘗試打開它。
相關問題
- 1. 如何製作標識爲自定義UTI類型的文件?
- 2. 防止自定義類
- 3. 在自定義帖子類型上打開的Wordpress預覽
- 4. iOS7自定義UTI
- 5. 防止在iPad上
- 6. 如何防止Visual Studio 2012自動關閉預覽文件?
- 7. 檢查NSURL的UTI /文件類型
- 8. 將UTI分配給文件類型
- 9. JQuery文件上傳預覽文件類型以允許所有文件類型
- 10. Facelet自定義組件 - 防止渲染
- 11. WPF自定義控件接收預覽
- 12. 防止文件瀏覽
- 13. 自定義文件類型關聯的Android上點擊文件
- 14. 導出UIDocument與自定義文件包UTI
- 15. 我們如何防止.exe類型文件在網站上傳?
- 16. 自定義JFileChooser在文件列表下面設置預覽器
- 17. 自定義文章類型
- 18. 自定義文件類型和圖標
- 19. 自定義字體文件類型
- 20. PHP文件的自定義MIME類型
- 21. JQuery自定義文件名/類型
- 22. 使用UIActivityViewController自定義文件類型
- 23. Finder無法識別自定義UTI
- 24. 自定義sqlite UTI不工作
- 25. Qt:定義自定義事件類型
- 26. 如何爲OSX註冊自定義非文檔UTI /文件類型以識別它?
- 27. 在Joomla中使用預定義字段創建自定義文章類型
- 28. 防止瀏覽器在iframe的文檔中加載自定義框架集
- 29. 如何讓插件導入UTI類型
- 30. 在自定義打印預覽對話框中使用打印預覽控件