我在iOS应用程序上工作,该应用程序具有文件扩展名,例如: .vlin
我希望iOS设备识别此扩展程序。到目前为止,我能够实现以下
.vlin
在我的.vlin
应用Vlin
文件
我正在使用cordova并在config.xml中添加了配置设置
但不知何故,它不适用于iOS Safari浏览器。如果我尝试在iOS Safari中打开文件,它会在浏览器中作为文本文件打开。
我想在我的Vlin
iOS应用中打开它。
我的info.plist和config.xml代码是:
<platform name="ios">
<preference name="IosLaunchMode" value="singleTask" />
<config-file platform="ios" target="*-Info.plist" parent="UIFileSharingEnabled">
<true />
</config-file>
<config-file platform="ios" target="*-Info.plist" parent="CFBundleDocumentTypes">
<array>
<dict>
<key>CFBundleTypeName</key>
<string>com.example.vlin.vlin</string>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>LSHandlerRank</key>
<string>Owner</string>
<key>LSItemContentTypes</key>
<array>
<string>com.example.vlin.vlin</string>
</array>
</dict>
</array>
</config-file>
<config-file platform="ios" target="*-Info.plist" parent="UTExportedTypeDeclarations">
<array>
<dict>
<key>UTTypeConformsTo</key>
<array>
<string>public.data</string>
</array>
<key>UTTypeDescription</key>
<string>Vlin document</string>
<key>UTTypeIdentifier</key>
<string>com.example.vlin.vlin</string>
<key>UTTypeTagSpecification</key>
<dict>
<key>public.filename-extension</key>
<string>vlin</string>
</dict>
</dict>
</array>
</config-file>
非常感谢任何帮助,提前谢谢。
info.plist中
<key>UIFileSharingEnabled</key>
<true/>
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeName</key>
<string>com.example.vlin.vlin</string>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>LSHandlerRank</key>
<string>Owner</string>
<key>LSItemContentTypes</key>
<array>
<string>com.example.vlin.vlin</string>
</array>
</dict>
</array>
<key>UTExportedTypeDeclarations</key>
<array>
<dict>
<key>UTTypeConformsTo</key>
<array>
<string>public.data</string>
</array>
<key>UTTypeDescription</key>
<string>Vlin document</string>
<key>UTTypeIdentifier</key>
<string>com.example.vlin.vlin</string>
<key>UTTypeTagSpecification</key>
<dict>
<key>public.filename-extension</key>
<string>vlin</string>
</dict>
</dict>
</array>
</dict>
示例文件格式:invite.vlin
{
"invite”: {
"name": “Some College",
"identifier": “xxxxxxxxxxxxxxxxx”
},
“value”: “xxxxxxxxxxxxxx”
}
答案 0 :(得分:0)
EDIT2:
您真正的问题是safari将您的.vlin文件视为文本文件,并且不允许您选择在其他应用程序中打开它,可能是您正确配置服务器以将其作为{{1}提供服务或者可能是com.example.vlin.vlin
它应该显示打开对话框。
例如,您可以在我的服务器上测试此.vlin文件。
http://jcesarmobile.byethost33.com/test4.vlin
它不是真正的.vlin文件,它是.vlin文件压缩并重命名为.vlin,safari显示打开对话框
编辑:
不确定为什么人们是downvoting,config.xml中的config-file标签未实现,请参阅the issue to implement it。
原始答案:
你不能在config.xml中使用config-file标签(它正在处理,但尚未完成)。
你可以在plugin.xml上使用它,所以你必须创建一个&#34; dumb&#34;插件只包含带有这些标签的plugin.xml。
你可以看看这个只使用plugin.xml写入Info.plist的插件 https://github.com/leecrossley/cordova-plugin-transport-security