(Phonegap + iOS)为什么当我在设备或模拟器中获得文件系统的完整path时,我只能得到“/”?

我正在运行这个简单的代码,当设备准备好被激发时:

window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function(fs){ var imagesRootPath = fs.root.fullPath; navigator.notification.alert(imagesRootPath); }, function(evt) { navigator.notification.alert(evt.target.error.code)}); 

在一个带有PhoneGap 3.2的MAC pro中,当代码在模拟器中运行时,这是完美的,这些imagesRootPath是一个很长的stringpath。 当我运行这个代码部署在一个Ipod设备,我得到了其他不同的长path。

现在,当我在具有与Mac Pro相同的MacOS,但具有Phonegap 3.3的NOTEBOOK中运行此代码时,我在模拟器中仅在“Phone”应用程序上部署“/”(斜线)path和相同的斜线装置。

我为文件API做了正确的插件configuration。

什么可能是错的?

谢谢!

Cordova的最新版本改变了File插件对path的显着作用。 实际上,如果使用前面的文档,您所看到的实际上是File插件的预期行为。 (我的旧代码有完全相同的问题)。

http://cordova.apache.org/news/2014/02/10/plugins-release.html https://github.com/apache/cordova-plugin-file/blob/dev/doc/index.md – 检查出更新说明。

在当前的插件开发分支有一个解决scheme:

Entry.toNativeURL() – 返回设备文件系统中文件的完整path。

https://github.com/apache/cordova-plugin-file/tree/dev

这个问题由于其混淆的解释而被拒绝投票是一个耻辱。 我有同样的问题: fileEntry.fullPath返回'/文件名',而不是实际的文件path。 我在phonegap版本3.1和3.2中也看到了这种行为。

就这样很明显,通过实际的文件path,我的意思是像/ Users / user / Library / Application Support /…/…/…/ fileName'

根据文件:

如果您的应用程序使用设备绝对path,并且以前通过Entry对象的fullPath属性检索了这些path,那么您应该更新代码以使用entry.toURL()