From 8ff9f24b61766ab7bfe1599d865106f2b4db4f57 Mon Sep 17 00:00:00 2001 From: Brent Simmons Date: Sun, 21 Apr 2024 13:03:07 -0700 Subject: [PATCH] Fix some concurrency warnings. --- .../Feedly/OAuthAccountAuthorizationOperation.swift | 11 +++++++---- .../Sources/CloudKitExtras/CloudKitZone.swift | 2 +- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/Account/Sources/Account/Feedly/OAuthAccountAuthorizationOperation.swift b/Account/Sources/Account/Feedly/OAuthAccountAuthorizationOperation.swift index ddfb88463..cadee9378 100644 --- a/Account/Sources/Account/Feedly/OAuthAccountAuthorizationOperation.swift +++ b/Account/Sources/Account/Feedly/OAuthAccountAuthorizationOperation.swift @@ -133,11 +133,14 @@ public enum OAuthAccountAuthorizationOperationError: LocalizedError { } - public func presentationAnchor(for session: ASWebAuthenticationSession) -> ASPresentationAnchor { - guard let anchor = presentationAnchor else { - fatalError("\(self) has outlived presentation anchor.") + nonisolated public func presentationAnchor(for session: ASWebAuthenticationSession) -> ASPresentationAnchor { + + MainActor.assumeIsolated { + guard let anchor = presentationAnchor else { + fatalError("\(self) has outlived presentation anchor.") + } + return anchor } - return anchor } @MainActor private func saveAccount(for grant: OAuthAuthorizationGrant) { diff --git a/CloudKitExtras/Sources/CloudKitExtras/CloudKitZone.swift b/CloudKitExtras/Sources/CloudKitExtras/CloudKitZone.swift index 5c43ef037..bf5c13e2e 100644 --- a/CloudKitExtras/Sources/CloudKitExtras/CloudKitZone.swift +++ b/CloudKitExtras/Sources/CloudKitExtras/CloudKitZone.swift @@ -29,7 +29,7 @@ public enum CloudKitZoneError: LocalizedError { public protocol CloudKitZoneDelegate: AnyObject { - func cloudKitDidModify(changed: [CKRecord], deleted: [CloudKitRecordKey], completion: @escaping (Result) -> Void) + @MainActor func cloudKitDidModify(changed: [CKRecord], deleted: [CloudKitRecordKey], completion: @escaping (Result) -> Void) } public typealias CloudKitRecordKey = (recordType: CKRecord.RecordType, recordID: CKRecord.ID)