我想知道哪些應用程序可以處理圖像和視頻,並假裝從此後的應用程序啓動該類型的默認應用程序。可可應用程序:發現哪些應用程序可以處理圖像和視頻
我有這樣的代碼:
CFArrayRef *array = LSCopyAllRoleHandlersForContentType(kUTTypeAudiovisualContent, kLSRolesEditor);
運行此array = NULL
我期待看到的Photoshop,預覽等,在名單上之後,但我得到了空。
注意:這是一個將在App Store上分發的沙盒應用程序。這是爲什麼這個錯誤發生?
就是這樣。謝謝。 「假裝」我的意思是「意志」。換句話說,一旦我發現哪些應用可以與Type I打交道,就會發佈一個包含內容的應用。感謝 – SpaceDog
奇怪的是:我運行這個'LSCopyAllRoleHandlersForContentType(kUTTypeJPEG,kLSRolesEditor)'並取回了3個對象:imageOptim,ColorSyncUtility和Preview。 Photoshop不在列表中,奇怪的是。當我右鍵點擊JPEG圖像並點擊打開時,我會看到15個選項,包括Illustrator,Photoshop,Safari和其他。 – SpaceDog
查看您認爲應該處理給定類型但沒有的應用程序中的Info.plist文件。另外,當應用於圖像文件時,請查看'mdls'的輸出。一種可能性:應用程序不使用現代技術來聲明UTI處理的類型,而是使用文件擴展名。另一個:該文件實際上是一些更具體的類型,該應用聲稱,但不是'image.jpeg'。一般來說,如果你有一個文件記住你的代碼想要做什麼,你可以試試'LSCopyDefaultApplicationURLForURL()'或'LSCopyApplicationURLsForURL()'。 –