在iOS上关联文件 – 从Safari打开纯文本文件

我想在iOS上将基于文本的自定义文件types与我的应用相关联。

当我打开一个链接到一些PHP脚本后面的文件时,Safari会显示我的应用程序在“打开”选项,这是可以的。

但是,当我打开一个直接指向我的文件的链接(运行Web服务器进行testing)时,Safari决定可以自己读取文件并自行显示内容。 这绝对不行。

在旁边注意,如果我replace任何二进制文件(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”之外的某种MIMEtypes吗?

为您的文件定义一个自定义的MIMEtypes(即application/x-my.custom.type ),并让PHP或您的Web服务器为它们提供服务。 这应该有所帮助。