Я сейчас пытаюсь сохранить некоторые файлы на своем iOS устройстве. Содержимое файла зашифровано, но мне было интересно, могу ли я добавить к файлу какую-то проверку целостности, желательно с помощью FileAttributeKey
.
Я пробовал следующее, что не работает
extension FileAttributeKey {
static let integrity = FileAttributeKey("NSFileIntegrity")
}
let docs = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!
let fileName = "test"
let filePath = docs.appendingPathComponent(fileName).path
defer {
try! FileManager.default.removeItem(atPath: filePath)
}
let data = Data("Hello world".utf8)
// This line fails too
// FileManager.default.createFile(atPath: filePath, contents: data, attributes: [.integrity: "SHA256"])
FileManager.default.createFile(atPath: filePath, contents: data, attributes: [:])
do {
try FileManager.default.setAttributes([.integrity: "SHA256"], ofItemAtPath: filePath)
} catch {
print(error)
}
print(try FileManager.default.attributesOfItem(atPath: filePath))
Итак, вопросы:
- Есть ли способ создать и добавить пользовательский
FileAttributeKey
в файл. - Есть ли ( лучше) способ добавить в файл проверки целостности?