JXA NSFileManager createDirectoryAtPathWithIntermediateDirectoriesAttributesError 异常

JXA NSFileManager createDirectoryAtPathWithIntermediateDirectoriesAttributesError exception

我在 OS/X 10.11.5 上使用以下 JXA(JavaScript 用于自动化)代码:

function createFolder(path, createIntermediateDirectories) {
    var error = {}
    $.NSFileManager.defaultManager
        .createDirectoryAtPathWithIntermediateDirectoriesAttributesError(
            $(path).stringByStandardizingPath, 
            createIntermediateDirectories, 
            null, 
            error);
    if (error)
        throw Error("Could not create folder '" + path + "'");
};

我在 运行 时收到错误消息,尽管它确实创建了文件夹。这是错误:

Error: exception raised by object: -[NSNull objectForKey:]: unrecognized selector sent to instance 0x7fff7b69b780 (-2700)

根据文件夹实际创建的事实和错误消息的文本来判断,我假设问题出在 "attributes" 参数上,该参数为 null (nil)。我想它创建了文件夹,然后去分配属性,然后就失败了。

有人知道如何解决这个问题吗?我从 JXA 调用任何其他 NSFileManager 方法都没有遇到任何问题,包括我向其传递 null and/or 布尔值的那些方法,所以这被难住了。

感谢任何帮助。

对不起, 我现在没有太多时间,所以这里有一个在这里可以正常工作的快速解决方案:

function createFolder(path, createIntermediateDirectories) {
    error = $()

    $.NSFileManager.defaultManager.createDirectoryAtPathWithIntermediateDirectoriesAttributesError(
        $(path).stringByStandardizingPath, 
        createIntermediateDirectories, 
        $(), 
        error)

    if (error) {
        $.NSLog(error.localizedDescription);
    }
};

玩得开心! 迈克尔/汉堡