macos save file with file protectionType complete

I'm writing to save data on multiple platforms. I uses https://github.com/apple/swift-tools-support-core and extend the fileSystem there to set some extra attributes for IOS. I also would like to set it for macOS but there seams to be a problem in my understanding of the FileProtectionType.complete. This type is available on both macOS and iOS. But on macOS when I try it results in an error.

Is the FileProtectionType.complete not available in a macOS sandbox app?

my code is.

Code Block swift
import TSCBasic
import Foundation
var filesystem: FileSystem = localFileSystem
extension FileSystem {
    /// Attemps to set the `FileProtectionType.complete` when on Apple platforms, otherwise it just writes the bytes
    /// - Parameter file: the file to change the protection type off
    /// - Throws: `NSError` occuring when changing file attributes.
    func writeWithCompleteProtectionOniOS(file: AbsolutePath, content: String) throws {
        guard let data = content.data(using: .utf8) else {
            throw AgreesError.invalidUTF8(atFunction: #function, inFile: #filePath)
        }
        do {
            // although the file protectionKey is available on macOS it has no effect apparently and results in an error.
            #if os(iOS)
            FileManager.default.createFile(
                atPath: file.pathString,
                contents: data,
                attributes: [FileAttributeKey.protectionKey : FileProtectionType.complete]
            )
            try FileManager.default.setAttributes([.protectionKey: FileProtectionType.complete], ofItemAtPath: file.pathString)
            #else
            logger.log(
                level: .warning,
                message: "On non apple platforms files should be protected otherwise.",
                metadata: ["file": .string(file.prettyPath())],
                source: String(reflecting: FileSystem.self), file: #filePath, function: #function, line: #line
            )
            try filesystem.writeFileContents(file, bytes: .init(encodingAsUTF8: content), atomically: true)
            #endif
        } catch {
            throw AgreesError.writeTo(file: file, error, atFunction: #function, inFile: #filePath)
        }
    }
}


macos save file with file protectionType complete
 
 
Q