Я получаю устаревшее предупреждение для приведенного ниже кода,
_ = data.withUnsafeBytes {
_ = CC_SHA256($0, CC_LONG(data.count), &digest)
}
'withUnsafeBytes' устарело: используйте withUnsafeBytes<R>(_: (UnsafeRawBufferPointer) throws -> R) rethrows -> R
вместо
Как я могу справиться с этим ?
Обновление
Как предложил Мартин, я использовал ниже код для Swift-5,
func sha256(data : Data) -> Data {
var hash = [UInt8](repeating: 0, count: Int(CC_SHA256_DIGEST_LENGTH))
data.withUnsafeBytes {
_ = CC_SHA256($0.baseAddress, CC_LONG(data.count), &hash)
}
return Data(hash)
}
Это даже дает ошибку компиляторов,
Значение типа 'UnsafePointer <_>' не имеет члена 'baseAddress'
Update2
Martins решение отлично работает в Xcode 11.3.1. Это не работает в Xcode 11. все же.