Skip to content

Commit 6072481

Browse files
Align PassKit protocol abstractions with Swift 6
1 parent 84e4cae commit 6072481

3 files changed

Lines changed: 8 additions & 7 deletions

File tree

platforms/swift/Sources/ShopifyAcceleratedCheckouts/Wallets/ApplePay/ApplePayAuthorizationDelegate/ApplePayAuthorizationDelegate+Controller.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
import PassKit
1+
@preconcurrency import PassKit
22
import ShopifyCheckoutKit
33

44
@available(iOS 16.0, *)
5-
extension ApplePayAuthorizationDelegate: PKPaymentAuthorizationControllerDelegate {
5+
extension ApplePayAuthorizationDelegate: @preconcurrency PKPaymentAuthorizationControllerDelegate {
66
/// Triggers on payment sheet presentation, and if user changes shipping address
77
///
88
/// Only triggered if the PKPaymentRequest has `requiredShippingContactFields` set

platforms/swift/Sources/ShopifyAcceleratedCheckouts/Wallets/ApplePay/ApplePayAuthorizationDelegate/ApplePayAuthorizationDelegate.swift

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,22 @@
11
import Foundation
2-
import PassKit
2+
@preconcurrency import PassKit
33
import ShopifyCheckoutKit
44

55
// MARK: - PaymentAuthorizationController Protocol
66

77
/// Protocol to abstract PKPaymentAuthorizationController for testing
88
@available(iOS 16.0, *)
9+
@MainActor
910
protocol PaymentAuthorizationController {
10-
var delegate: PKPaymentAuthorizationControllerDelegate? { get set }
11+
var delegate: (any PKPaymentAuthorizationControllerDelegate)? { get set }
1112
func present() async -> Bool
12-
func dismiss(completion: (() -> Void)?)
13+
func dismiss(completion: (@Sendable () -> Void)?)
1314
}
1415

1516
extension PKPaymentAuthorizationController: PaymentAuthorizationController {}
1617

1718
@available(iOS 16.0, *)
18-
typealias PKAuthorizationControllerFactory = (PKPaymentRequest) -> PaymentAuthorizationController
19+
typealias PKAuthorizationControllerFactory = @MainActor (PKPaymentRequest) -> any PaymentAuthorizationController
1920

2021
@available(iOS 16.0, *)
2122
@MainActor

platforms/swift/Sources/ShopifyAcceleratedCheckouts/Wallets/ApplePay/Data/PassKitFactory.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import PassKit
22

33
@available(iOS 16.0, *)
4-
class PassKitFactory {
4+
final class PassKitFactory: Sendable {
55
static let shared = PassKitFactory()
66

77
private struct DeliveryOptionWithGroupType {

0 commit comments

Comments
 (0)