我想将基于文本的自定义文件类型与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类型?
答案 0 :(得分:4)
为您的文件定义自定义MIME类型(即application/x-my.custom.type
),并让PHP或您的Web服务器为它们提供服务。这应该有所帮助。