新しいSign in With Apple
機能を実装すると、アプリはSwiftUIと同様に、iOS 12以下と互換性がなくなりますか? import AuthenticationServices
のようなものでXCode 10
が必要なアプリをコンパイルすることは可能ですか?
下位互換性が必要な場合は、sha256暗号化にCryptoKitを使用しないことをお勧めします。 CryptoKitの代わりにこのストリング拡張インポートCommonCryptoを使用できます。
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()
}
}
条件付きインポートに#if canImport(CryptoKit)を使用して、-weak_framework CryptoKitをOther Linker Flagsに設定しようとしましたが、iOS12および未満。これまでのところ、それを機能させる唯一の方法は、CryptoKitのインポートを回避することです。