我可以使用Cordova访问iPhone应用程序沙箱中的Library目录吗?

时间:2013-10-03 12:49:03

标签: iphone cordova

我的iPhone应用程序的沙箱包含3个目录:Documents,Library和tmp。

如果我使用此Cordova代码段,我可以访问 Documents 目录:

window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, onSuccess, onError);   

如果我使用此Cordova代码段,我可以访问 tmp 目录:

window.requestFileSystem(LocalFileSystem.TEMPORARY, 0, onSuccess, onError);  

有没有办法使用Cordova访问目录?

2 个答案:

答案 0 :(得分:0)

看起来Cordova没有提供访问Library目录的API。请注意Library目录的Apple文档: “此目录是非用户数据文件的文件的顶级目录。您通常将文件放在几个标准子目录之一中,但您也可以为要备份但未向用户公开的文件创建自定义子目录。您不应将此目录用于用户数据文件。 该目录的内容(Caches子目录除外)由iTunes备份。“ 如果您仍然需要Javascript访问Library目录,您可以考虑编写自定义Cordova插件。请注意遵循Apple准则,否则他们可能会在提交审核时拒绝您的申请。

答案 1 :(得分:0)

尝试使用resolveLocalFileSystemURL,我尝试使用Cordova 3.请记住遵循Apple关于使用不同存储位置https://developer.apple.com/icloud/documentation/data-storage/index.html的最新指南,否则您的应用将因AppStore版本而被拒绝。

resolveLocalFileSystemURL(cordova.file.dataDirectory,//data directory points to Library/NoCloud
win-callback(directory){
}
fail-callback(error){
});

对于其他目录,请替换&#cord; file.dataDirectory'用;

cordova.file.applicationDirectory
cordova.file.applicationStorageDirectory 
cordova.file.documentsDirectory
cordova.file.syncedDataDirectory
cordova.file.cacheDirectory
cordova.file.tempDirectory