Cordova:使用cordova-plugin-file 3.0.0“文件”

时间:2015-09-18 13:15:25

标签: ios cordova cordova-plugins

我为iOS编写了一个cordova应用程序。我的所有文件都必须驻留在Library/NoCloudDocuments/NoCloud中(一个要求本地文件可能无法同步,无论是云还是任何备份)。

在cordova的config.xml中,我输入了以下文件:

<preference name="iosPersistentFileLocation" value="Compatibility" />
<preference name="iosExtraFilesystems" value="documents-nosync" />

我也试过

<preference name="iosPersistentFileLocation" value="Library" />
<preference name="iosExtraFilesystems" value="library-nosync" />

接下来,我使用以下Javascript代码请求文件系统:

window.requestFileSystem(window.PERSISTENT, 1024 * 1024 * 20, onInitFs, fileErrorHandler);

此调用成功,我将文件系统存储在全局变量中。接下来,我尝试使用以下代码检查目录是否存在:

window.resolveLocalFileSystemURL(directoryToCreate, resolveLocalFileSystemURLcallBackExists, onDirectoryExistsFail);

function resolveLocalFileSystemURLcallBackExists(path){
    try {
        fileSystem.root.getDirectory(path, { create: false }, onDirectoryExistsSuccess, onDirectoryExistsFail);
    } catch (e) {
        console.log(e);
    }
}

现在,当我在某个时候调试iOS项目时,会调用以下Objective-C代码:

- (NSString *)fullPathForFileSystemPath:(NSString *)fsPath
{
    if ([fsPath hasPrefix:self.fsRoot]) {
        return [fsPath substringFromIndex:[self.fsRoot length]];
    }
    return nil;
}

此函数始终返回nilfs.root指向/var/.../Libriry/filesdirectoryToCreatefile:///var/.../Library/NoCloud/mydirfile:///var/.../Documents/NoCloud/mydir

Cordova版本:5.1.1

文件插件版本:3.0.0

如何写入file:///var/.../Library/NoCloud/而不是files子文件夹?

0 个答案:

没有答案