我正在處理的iOS應用程序導出UTI。在Info.plist
這個樣子的相關部分:在UIDocumentPickerViewController中顯示自定義UTI的圖標
<key>UTExportedTypeDeclarations</key>
<array>
<dict>
<key>UTTypeConformsTo</key>
<array>
<string>public.xml</string>
<string>public.data</string>
</array>
<key>UTTypeDescription</key>
<string>GPX Document</string>
<key>UTTypeIdentifier</key>
<string>de.company.app.gpx</string>
<key>UTTypeSize320IconFile</key>
<string>Doc320.png</string>
<key>UTTypeSize64IconFile</key>
<string>Doc64.png</string>
<key>UTTypeTagSpecification</key>
<dict>
<key>public.filename-extension</key>
<array>
<string>gpx</string>
</array>
</dict>
</dict>
</array>
我希望應用程序通過對話「在......打開」處理GPX文件,所以也有一個文檔類型定義(引用UTI)在相同PLIST:
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeIconFiles</key>
<array>
<string>Icon29.png</string>
<string>Icon58.png</string>
</array>
<key>CFBundleTypeName</key>
<string>de.company.app.gpx</string>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>LSHandlerRank</key>
<string>Owner</string>
<key>LSItemContentTypes</key>
<array>
<string>de.company.app.gpx</string>
</array>
</dict>
</array>
當在Safari打開GPX文件時,它顯示一個視網膜裝置上餘CFBundleTypeIconFiles
下指定的圖標,即Icon58.png
。該應用程序還允許進口通過在iOS 8的推出UIDocumentPickerViewController類,並同時UTI定義在iCloud中驅動器過濾相關文件工作得很好,它不顯示我的任何特定的藝術作品:
我有確保所有參考圖像文件(Icon29.png
,Icon58.png
,Doc64.png
,Doc320.png
)確實在應用程序包的根目錄中。其名稱中的數字表示它們的像素高度。 Doc...
文件是正方形,其他兩個遵循this specification(僅限iPhone)。
我有兩種基本的問題:
1)如何使我們的尿路感染的UIDocumentPickerViewController顯示自定義圖標?
2)是否有任何其他用例使用UTTypeSize64IconFile
和UTTypeSize320IconFile
?
嗨。因此,聽起來像爲您自己的UTI顯示自定義圖標的「UIDocumentPickerViewController」僅適用於您控制的文件(因爲您需要編寫縮略圖)。如果用戶瀏覽iCloud來說出他們共享的iCloud〜/ desktop文件夾,並發現由另一個應用程序編寫的.gpx文件,那麼將無法指定顯示的圖標? – Kyle 2017-10-30 14:18:48