1
我想在iOS上將基於文本的自定義文件類型與我的應用相關聯。在iOS上關聯文件 - 從Safari中打開純文本文件
當我打開一個鏈接到一些PHP腳本後面的文件時,Safari會顯示「open in」選項,其中包含我的應用程序,這是可以的。
但是,當我打開一個直接指向我的文件的鏈接(運行Web服務器用於測試目的)時,Safari決定它可以自己讀取文件並自行顯示內容。這絕對不行。
請注意,如果我替換任何二進制文件(zip,...)並使用我的擴展名,文件關聯仍然可以工作。
在plist中,信息的代碼:
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeIconFiles</key>
<array>
<string>320.png</string>
<string>64.png</string>
</array>
<key>CFBundleTypeName</key>
<string>My File</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
<key>LSHandlerRank</key>
<string>Owner</string>
<key>LSItemContentTypes</key>
<array>
<string>com.Company.Product.ext</string>
</array>
</dict>
</array>
<key>UTExportedTypeDeclarations</key>
<array>
<dict>
<key>UTTypeConformsTo</key>
<array>
<string>public.data</string>
<string>public.content</string>
<string>public.text</string>
<string>public.plain-text</string>
<string>public.utf16-plain-text</string>
<string>public.utf16-external-plain-text</string>
<string>public.utf8-plain-text</string>
</array>
<key>UTTypeDescription</key>
<string>My File</string>
<key>UTTypeIdentifier</key>
<string>com.Company.Product.ext</string>
<key>UTTypeTagSpecification</key>
<dict>
<key>public.filename-extension</key>
<string>ext</string>
<key>public.mime-type</key>
<string>application/octet-stream</string>
</dict>
</dict>
</array>
我的問題是:如何說服Safari瀏覽器無法打開文件本身?它甚至有可能嗎?我必須使用除「application/octet-stream」之外的某種MIME類型嗎?
這個伎倆! +1 – Jukebox
這也適用於我。我還發現,在導出的類型UTI中設置文件擴展名既是必要的也是足夠的,而設置MIME類型既不是。 – Justin