保存文件但隐藏文件扩展名 - Cocoa with Key Value Coding

Save file but hide file extension - Cocoa with Key Value Coding

我正在使用 Key Value Coding 将一些对象保存到文件中。我希望隐藏已保存文件的扩展名(或者至少隐藏,除非 Finder → Preferences → Advanced "Show All File Extensions" 中的值是 true),但我似乎无法让它工作。

我是这样保存文件的:

let saveDialog  = NSSavePanel()
        saveDialog.allowedFileTypes = ["purr"]

        saveDialog.beginWithCompletionHandler() { (result: Int) -> Void in
            if result == NSFileHandlingPanelOKButton {


                NSFileManager.defaultManager()
                    .createFileAtPath(saveDialog.URL!.path!, contents: NSData(), attributes: [NSFileExtensionHidden: NSNumber(bool: true)])
                let _ = NSKeyedArchiver.archiveRootObject(safePhrases, toFile: saveDialog.URL!.path!)
            }
        }

        return saveDialog.URL

但是在Finder中查看保存的文件时,扩展名总是可见的。我该如何解决这个问题?

根据 Willeke 的建议,我在写入文件后设置属性,使用 NSFileManagersetAttributes:ofItemAtPath:error

do { try NSFileManager.defaultManager().setAttributes
    ([NSFileExtensionHidden: NSNumber(bool: true)], ofItemAtPath: saveDialog.URL!.path!) } 

catch _{ Swift.print("Unable to hide extension") }