2012-05-14 46 views
2

我正在編寫一個需要識別我的自定義MIME類型的應用程序,以便當從服務器下載此類文件時,我的應用程序將啓動。我閱讀了關於如何在iOS下編寫一個MIME類型識別器的偉大文章How do I associate file types with an iPhone application?,它運行良好當且僅當該文件的擴展名也在我的plist的UTExportedTypeDeclarations/UTTypeTagSpecification部分中指定,並且服務器提供這些文件具有相同的擴展名。如果服務器上的文件擴展名不同供應,或者如果在plist中沒有指定擴展的MIME類型匹配時,會發生以下情況:在iOS上識別我的沒有文件擴展名的MIME類型

瀏覽器(或接收到該文件的應用程序)示出了使用正確的[在myApplication中打開]按鈕更正我的文件類型的圖標,但單擊該按鈕不會執行任何操作,我的應用程序未啓動,如果它正在運行,則不會發送application:openURL:sourceApplication:annotation:消息。

有沒有什麼辦法可以根據MIME類型編寫文件類型識別器,而不需要特定的文件擴展名?

回答

0

這已被回答,您想要使用NSURLRequest,這將允許您訪問mimeType,您可以根據需要使用它來確定文件擴展名。完整的代碼和額外的提示和技巧,可在這個帖子:

https://stackoverflow.com/a/1401918/728261

+1

恐怕你誤解了這個問題。我正在系統中註冊一個新的MIME類型,並希望系統將這些文件(通過瀏覽器下載,郵件附件等)轉發給我,即使只知道他們的MIME類型,並且擴展名不是。 – MrTJ

+0

因此,如果它是您的文件,您是否可以不使用自定義擴展名創建文件,以便在安裝應用程序時進行註冊? – SeeCoolGuy

+0

是的,這可能是iOS的解決方案,但我必須與不同的系統(具有其他平臺的移動客戶端,服務器基礎設施和HTTP等)合作,並且擺脫傳遞文件擴展名的必要性也是非常有用的。 – MrTJ

相關問題