2013-02-08 50 views
0

我已經註冊了我的應用程序以打開所有文檔類型,這種方式很好,但是我無法使用它來處理圖像,並且它不會出現在PhotoAlbum中,但我的應用程序出現在Safari和safari中可以向我發送打開請求以打開某些文件。UIT不適用於相冊

任何提示?

這裏是我的plist變化:

<key>CFBundleDocumentTypes</key> 
<array> 
    <dict> 
     <key>CFBundleTypeName</key> 
     <string>PDF Document</string> 
     <key>LSHandlerRank</key> 
     <string>Default</string> 
     <key>CFBundleTypeRole</key> 
     <string>Viewer</string> 
     <key>LSItemContentTypes</key> 
     <array> 
      <string>public.content</string> 
      <string>public.item</string> 
      <string>public.data</string> 
      <string>public.image</string> 
     </array> 
    </dict> 
</array> 

回答

0

你混合了OSX和iOS密鑰。例如,CFBundleTypeRole是iOS中未使用的OSX密鑰。

這裏是從文檔的CFBundleDocumentTypes鍵的一個很好的描述:

CFBundleDocumentTypes

CFBundleDocumentTypes(陣列 - 的iOS,OS X)含有字典的陣列相關聯>的一個或多個文檔類型與您的應用程序。每個字典都稱爲類型定義字典,幷包含用於定義文檔類型的鍵。表2列出了這些字典中支持的鍵。有關指定應用程序支持的類型的其他信息,請參閱「在應用程序屬性列表中存儲文檔類型信息」。

您應該爲每個文檔類型的CFBundleDocumentTypes數組提供一個條目。您目前只有一個您命名爲PDF文檔的條目。 LSItemContentTypes下的數組實際上是指一種特定文檔類型的各種「擴展」。從文檔中閱讀此說明:

此項包含一個字符串數組。每個字符串都包含一個定義受支持的文件類型的UTI。 UTI字符串必須明確地拼寫出來,而不是使用Launch Services定義的常量之一。例如,要支持PNG文件,您需要在數組中包含字符串「public.png」。使用此密鑰時,還要添加NSExportableTypes鍵和適當的條目。

總之,你應該爲圖像插入一個新的類型定義字典到你的CFBundleDocumentTypes數組中。

閱讀全部有關細節here

+0

我確信這是不可能的,還有其他的SOF問題告訴你,你的應用程序不可能出現在相冊中。 – 2013-02-21 16:02:26

相關問題