La mise en œuvre du nouveau Sign in With Apple
fonctionnalité rend une application incompatible avec iOS 12 et inférieur, similaire à SwiftUI? Sera-t-il possible de compiler une application qui doit import AuthenticationServices
sur quelque chose comme XCode 10
?
Si vous souhaitez une compatibilité descendante, je suggère d'éviter d'utiliser CryptoKit pour le cryptage sha256. Vous pouvez utiliser cette extension de chaîne pour importer CommonCrypto à la place de CryptoKit.
import CommonCrypto
extension String {
var sha256: String {
let data = Data(utf8)
var hash = [UInt8](repeating: 0, count: Int(CC_SHA256_DIGEST_LENGTH))
data.withUnsafeBytes { buffer in
_ = CC_SHA256(buffer.baseAddress, CC_LONG(buffer.count), &hash)
}
return hash.map { String(format: "%02hhx", $0) }.joined()
}
}
J'ai déjà essayé d'utiliser # si canImport (CryptoKit) pour l'importation conditionnelle et de définir - faiblesse_framework CryptoKit dans Autres indicateurs de l'éditeur de liens mais qui plante toujours pour iOS12 et au dessous de. Jusqu'à présent, la seule façon de le faire fonctionner est d'éviter d'importer CryptoKit.