cordova.file。* – iOS中的所有位置均为空。 适用于Android
我正在使用cordova-file-plugin,但它将iOS中的所有位置显示为空。 这与android完美的作品。 我是否缺lessiOS的某些权限?
尽pipe@ JesseMonroy650的build议来检查文档(根据我的经验,这往往是一个错误的,不完整的文档),这个问题没有在文档中清楚地解释。 这也发生在我身上,我以更激烈的方式解决了这个问题:
-
删除
org.apache.cordova.file
插件,不幸的是,它的所有依赖插件(如org.apache.cordova.file-transfer
,org.apache.cordova.media
,org.chromium.zip
和其他),使用cordova plugin rm [plugin-name]
。 要知道插件名称,请运行cordova plugins
。 -
安装较新版本的文件插件。 新的cordova插件有一个不同的名字。 要获取新名称,请replace
org.apache.cordova.
与cordova-plugin-
。 在这种情况下,使用cordova plugin add cordova-plugin-file
来安装文件插件 -
重新安装任何你必须删除的其他插件。 您可以使用新版本(
cordova-plugin-
)或旧版本(org.apache.cordova.
)。 我使用了新版本的file-transfer
。 -
在你的
config.xml
添加以下内容:<preference name="iosPersistentFileLocation" value="Compatibility" />
或<preference name="iosPersistentFileLocation" value="Library" />
-
确保在完成这些步骤之后运行
cordova prepare
。 -
打开Xcode,用⌘ + ⇧ + K清理项目,然后用⌘ + B创build 。 最后,使用⌘ + R运行项目。 您也可以清理项目并使用播放button,但在这种情况下,我喜欢手动执行这些步骤。 是的,我有点奇怪。
它也发生在你的文件名包含空格时(在iOS上)。 我花了整整一天,更新插件和cordova和离子。 我通过从ios上的文件名删除空白空间并完成解决。 我正在使用fileopener2插件通过url打开本地文件。