Cordova.file.applicationDirectory中的cordova ios resolveLocalFileSystemURL ENCODING_ERR

时间:2015-04-18 00:22:00

标签: ios file cordova

window.resolveLocalFileSystemURL(cordova.file.applicationDirectory +'www / tutorial / comic.json')

导致在设备上使用ENCODING_ERR进行故障回调。在ios模拟器中运行FINE。

iosPersistentFileLocation =图书馆

iosExtraFilesystems = bundle,library,library-nosync

完整路径:

在设备上 - 文件:///private/var/mobile/Containers/Bundle/Application/0E3CD0FD-BC69-42D1-BBB2-C59682E7F29A/My%20Comics.app/www/tutorial/comic.json

simulator- 文件:///Users/admin/Library/Developer/CoreSimulator/Devices/80E29D25-5164-4869-81F9-E30571D2BE92/data/Containers/Bundle/Application/650AE88A-FD42-469B-90FE-494DF11CFA02/My%20Comics.app /www/tutorial/comic.json

2 个答案:

答案 0 :(得分:3)

你需要在你的iosExtraFilesystems中使用root。即使文档说它默认加载。这解决了它。

iosExtraFilesystems = root,bundle,library,library-nosync

答案 1 :(得分:0)

也许这也可能会帮助与此相关的任何人...我们产生了完全相同的效果 window.resolveLocalFileSystemURL(cordova.file.applicationDirectory)始终因FileError 5(ENCODING_ERROR)而失败 在真实设备上(iPadAir 4th Gen)-> Always File Error 5 但是它可以在iPadAir Simulator(第4代)上正常工作...

几个小时后,

使我们的头顶在办公室的所有墙壁上 我们能够通过以下方法解决此问题:成功时,回调中不使用es6 ---旧的好方法可在Simulator&Device上使用 CONST filePath = cordova.file.applicationDirectory + "www/" window.resolveLocalFileSystemURL(filePath , 功能(文件条目) { ... });

代替fileEntry => { ...