我想将基于文本的自定义文件类型与我在 iOS 上的应用程序相关联。
当我打开某个 php 脚本后面的文件的链接时,Safari 会在其中显示我的应用程序的“打开方式”选项,这没关系。
但是,当我打开一个直接指向我的文件的链接(运行一个 Web 服务器以进行测试)时,Safari 决定它可以读取文件本身并自行显示内容。这绝对不行。
在旁注中,如果我替换任何二进制文件(zip,...)并使用我的扩展名,文件关联仍然可以工作。
plist-info中的代码:
<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 类型?