cordova.file。* – iOS中的所有位置均为空。 适用于Android

我正在使用cordova-file-plugin,但它将iOS中的所有位置显示为空。 这与android完美的作品。 我是否缺lessiOS的某些权限?

尽pipe@ JesseMonroy650的build议来检查文档(根据我的经验,这往往是一个错误的,不完整的文档),这个问题没有在文档中清楚地解释。 这也发生在我身上,我以更激烈的方式解决了这个问题:

  1. 删除org.apache.cordova.file插件,不幸的是,它的所有依赖插件(如org.apache.cordova.file-transferorg.apache.cordova.mediaorg.chromium.zip和其他),使用cordova plugin rm [plugin-name] 。 要知道插件名称,请运行cordova plugins

  2. 安装较新版本的文件插件。 新的cordova插件有一个不同的名字。 要获取新名称,请replaceorg.apache.cordova.cordova-plugin- 。 在这种情况下,使用cordova plugin add cordova-plugin-file来安装文件插件

  3. 重新安装任何你必须删除的其他插件。 您可以使用新版本( cordova-plugin- )或旧版本( org.apache.cordova. )。 我使用了新版本的file-transfer

  4. 在你的config.xml添加以下内容: <preference name="iosPersistentFileLocation" value="Compatibility" /><preference name="iosPersistentFileLocation" value="Library" />

  5. 确保在完成这些步骤之后运行cordova prepare

  6. 打开Xcode,用 + + K清理项目,然后用 + B创build 。 最后,使用 + R运行项目。 您也可以清理项目并使用播放button,但在这种情况下,我喜欢手动执行这些步骤。 是的,我有点奇怪。

它也发生在你的文件名包含空格时(在iOS上)。 我花了整整一天,更新插件和cordova和离子。 我通过从ios上的文件名删除空白空间并完成解决。 我正在使用fileopener2插件通过url打开本地文件。