cordova.file。* - iOS中的所有位置均为空。在Android中工作

问题描述:

我正在使用cordova-file-plugin,但它将iOS中的所有位置显示为空。这与android完美配合。我是否缺少iOS的某些权限?cordova.file。* - iOS中的所有位置均为空。在Android中工作

+0

阅读文档。 – JesseMonroy650

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

  1. 取出org.apache.cordova.file插件,而且,不幸的是,其所有相关的插件(如org.apache.cordova.file-transferorg.apache.cordova.mediaorg.chromium.zip和任何其他),使用cordova plugin rm [plugin-name]。要知道插件名称,请运行cordova plugins

  2. 安装较新版本的文件插件。新的cordova插件有不同的名称。要取得新名称,请将org.apache.cordova.替换为cordova-plugin-。在这种情况下,使用cordova plugin add cordova-plugin-file来安装文件插件

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

  4. 加入您的​​3210此行:<preference name="iosPersistentFileLocation" value="Compatibility" /><preference name="iosPersistentFileLocation" value="Library" />based on your needs

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

  6. 打开Xcode的,干净的项目, + + ķ,然后建立它与 + 。最后,运行项目 + R您也可以清理项目并使用播放按钮,但在这种情况下,我喜欢手动执行这些步骤。是的,我有点奇怪。

+0

是的 - 这是新的插件不匹配。我更加剧烈,清理了整个插件目录并重新安装了插件。这很奇怪,因为我陷入了很多升级周期 - 科尔多瓦,离子框架和插件更改为新回购。它试图解决所有问题。更简单地开始新鲜 –

当您的文件名包含空格(在ios上)时也会出现这种情况。我通过更新插件和cordova以及离子浪费了整整一天的时间。我通过从ios上的文件名中删除空格并完成了解决。我正在使用fileopener2插件通过url打开本地文件。

+0

哪个文件名? – Pierre