fix live passport service macOS build
CI / test (push) Has been cancelled

Narrow the live service initializer visibility, correct key material decoding, and restrict the location evidence helper to iOS so the app builds cleanly on macOS.
This commit is contained in:
2026-04-20 14:10:43 +00:00
parent a298b5e421
commit 1137a117b1
@@ -34,7 +34,7 @@ actor LiveIDPService: IDPServicing {
private let appStateStore: AppStateStoring private let appStateStore: AppStateStoring
private let keyStore: PassportKeyStoring private let keyStore: PassportKeyStoring
init( private init(
appStateStore: AppStateStoring = UserDefaultsAppStateStore(), appStateStore: AppStateStoring = UserDefaultsAppStateStore(),
keyStore: PassportKeyStoring = DefaultPassportKeyStore() keyStore: PassportKeyStoring = DefaultPassportKeyStore()
) { ) {
@@ -54,7 +54,10 @@ actor LiveIDPService: IDPServicing {
let client = LiveTypedRequestClient(baseURL: baseURL) let client = LiveTypedRequestClient(baseURL: baseURL)
let keyMaterial = try loadOrCreateKeyMaterial(for: context.originHost) let keyMaterial = try loadOrCreateKeyMaterial(for: context.originHost)
let signingPayload = try buildEnrollmentSigningPayload(from: context) let signingPayload = try buildEnrollmentSigningPayload(from: context)
let signatureBase64 = try signPayload(signingPayload, with: keyMaterial.privateKeyData) guard let privateKeyData = Data(base64Encoded: keyMaterial.privateKeyBase64) else {
throw AppError.invalidPairingPayload
}
let signatureBase64 = try signPayload(signingPayload, with: privateKeyData)
let enrollmentResponse = try await client.fire( let enrollmentResponse = try await client.fire(
method: "completePassportEnrollment", method: "completePassportEnrollment",
@@ -1134,7 +1137,7 @@ private struct ServerAlert: Decodable {
let data: DataPayload let data: DataPayload
} }
#if canImport(CoreLocation) #if canImport(CoreLocation) && os(iOS)
@MainActor @MainActor
private final class CurrentLocationEvidenceProvider: NSObject, @preconcurrency CLLocationManagerDelegate { private final class CurrentLocationEvidenceProvider: NSObject, @preconcurrency CLLocationManagerDelegate {
private var manager: CLLocationManager? private var manager: CLLocationManager?