Build Information
Failed to build PatternAuthentication, reference 1.1.0 (2544d6), with Swift 6.3 for macOS (SPM) on 3 Jul 2026 10:36:32 UTC.
Build Command
env DEVELOPER_DIR=/Applications/Xcode-26.4.0.app xcrun swift build --arch arm64Build Log
18 | @Published public var selectedCardsIndices: [Int] = []
:
70 |
71 | /// Callback invoked by v1 setup APIs with a credential envelope.
72 | @Published public var credentialSetupCompletion: ((GestureCredentialEnvelope) -> Void)?
| `- error: 'Published' is only available in macOS 10.15 or newer
73 |
74 | /// Callback invoked after successful legacy authentication creates a v1 credential.
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:75:6: error: 'Published' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
73 |
74 | /// Callback invoked after successful legacy authentication creates a v1 credential.
75 | @Published public var legacyUpgradeCompletion: ((GestureCredentialEnvelope) -> Void)?
| `- error: 'Published' is only available in macOS 10.15 or newer
76 |
77 | /// The setup confirmation state.
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:78:6: error: 'Published' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
76 |
77 | /// The setup confirmation state.
78 | @Published public var confirmationState: ConfirmationState = .initial
| `- error: 'Published' is only available in macOS 10.15 or newer
79 |
80 | /// The legacy hash of the first setup pattern when confirmation is required.
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:81:6: error: 'Published' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
79 |
80 | /// The legacy hash of the first setup pattern when confirmation is required.
81 | @Published public var firstPatternHash: String?
| `- error: 'Published' is only available in macOS 10.15 or newer
82 |
83 | /// Whether an entered pattern is currently being replayed.
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:84:6: error: 'Published' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
82 |
83 | /// Whether an entered pattern is currently being replayed.
84 | @Published public var isSimulating: Bool = false
| `- error: 'Published' is only available in macOS 10.15 or newer
85 | private var simulationTask: Task<Void, Never>?
86 |
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:85:33: error: 'Task' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
83 | /// Whether an entered pattern is currently being replayed.
84 | @Published public var isSimulating: Bool = false
85 | private var simulationTask: Task<Void, Never>?
| `- error: 'Task' is only available in macOS 10.15 or newer
86 |
87 | /// The in-flight credential derivation or verification task.
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:88:33: error: 'Task' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
86 |
87 | /// The in-flight credential derivation or verification task.
88 | private var credentialTask: Task<Void, Never>?
| `- error: 'Task' is only available in macOS 10.15 or newer
89 |
90 | /// Whether the user currently has an active drag gesture.
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:91:6: error: 'Published' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
89 |
90 | /// Whether the user currently has an active drag gesture.
91 | @Published public var isDragging: Bool = false
| `- error: 'Published' is only available in macOS 10.15 or newer
92 |
93 | /// The most recent user-facing validation or credential error.
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:94:6: error: 'Published' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
92 |
93 | /// The most recent user-facing validation or credential error.
94 | @Published public var lastDragError: String?
| `- error: 'Published' is only available in macOS 10.15 or newer
95 |
96 | /// The last selected grid index in the current gesture.
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:203:34: error: 'DragGesture' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
201 | /// particle state.
202 | /// - Throws: This method does not throw.
203 | public func duringDrag(drag: DragGesture.Value) {
| | `- error: 'DragGesture' is only available in macOS 10.15 or newer
| `- note: add '@available' attribute to enclosing instance method
204 | let wasDragging = isDragging
205 | isDragging = true
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:681:29: error: 'blue' is only available in macOS 10.15 or newer
660 |
661 | /// Defines the setup or authentication flow hosted by `GridAuthenticator`.
662 | public enum GridAuthenticatorOption {
| `- note: add '@available' attribute to enclosing enum
663 | /// Creates a deprecated v0 setup flow that returns a legacy SHA-256 hash.
664 | ///
:
679 | case set(
680 | minimumVertices: Int = 6,
681 | color: Color = .blue,
| `- error: 'blue' is only available in macOS 10.15 or newer
682 | interactionMode: InteractionMode = .drag,
683 | requireConfirmation: Bool = true,
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:681:20: error: 'Color' is only available in macOS 10.15 or newer
660 |
661 | /// Defines the setup or authentication flow hosted by `GridAuthenticator`.
662 | public enum GridAuthenticatorOption {
| `- note: add '@available' attribute to enclosing enum
663 | /// Creates a deprecated v0 setup flow that returns a legacy SHA-256 hash.
664 | ///
:
679 | case set(
680 | minimumVertices: Int = 6,
681 | color: Color = .blue,
| `- error: 'Color' is only available in macOS 10.15 or newer
682 | interactionMode: InteractionMode = .drag,
683 | requireConfirmation: Bool = true,
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:703:29: error: 'blue' is only available in macOS 10.15 or newer
660 |
661 | /// Defines the setup or authentication flow hosted by `GridAuthenticator`.
662 | public enum GridAuthenticatorOption {
| `- note: add '@available' attribute to enclosing enum
663 | /// Creates a deprecated v0 setup flow that returns a legacy SHA-256 hash.
664 | ///
:
701 | case authenticate(
702 | expectedHash: String,
703 | color: Color = .blue,
| `- error: 'blue' is only available in macOS 10.15 or newer
704 | interactionMode: InteractionMode = .drag,
705 | debug: Bool = false,
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:703:20: error: 'Color' is only available in macOS 10.15 or newer
660 |
661 | /// Defines the setup or authentication flow hosted by `GridAuthenticator`.
662 | public enum GridAuthenticatorOption {
| `- note: add '@available' attribute to enclosing enum
663 | /// Creates a deprecated v0 setup flow that returns a legacy SHA-256 hash.
664 | ///
:
701 | case authenticate(
702 | expectedHash: String,
703 | color: Color = .blue,
| `- error: 'Color' is only available in macOS 10.15 or newer
704 | interactionMode: InteractionMode = .drag,
705 | debug: Bool = false,
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:728:29: error: 'blue' is only available in macOS 10.15 or newer
660 |
661 | /// Defines the setup or authentication flow hosted by `GridAuthenticator`.
662 | public enum GridAuthenticatorOption {
| `- note: add '@available' attribute to enclosing enum
663 | /// Creates a deprecated v0 setup flow that returns a legacy SHA-256 hash.
664 | ///
:
726 | case setCredential(
727 | minimumVertices: Int = 6,
728 | color: Color = .blue,
| `- error: 'blue' is only available in macOS 10.15 or newer
729 | interactionMode: InteractionMode = .drag,
730 | requireConfirmation: Bool = true,
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:728:20: error: 'Color' is only available in macOS 10.15 or newer
660 |
661 | /// Defines the setup or authentication flow hosted by `GridAuthenticator`.
662 | public enum GridAuthenticatorOption {
| `- note: add '@available' attribute to enclosing enum
663 | /// Creates a deprecated v0 setup flow that returns a legacy SHA-256 hash.
664 | ///
:
726 | case setCredential(
727 | minimumVertices: Int = 6,
728 | color: Color = .blue,
| `- error: 'Color' is only available in macOS 10.15 or newer
729 | interactionMode: InteractionMode = .drag,
730 | requireConfirmation: Bool = true,
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:749:29: error: 'blue' is only available in macOS 10.15 or newer
660 |
661 | /// Defines the setup or authentication flow hosted by `GridAuthenticator`.
662 | public enum GridAuthenticatorOption {
| `- note: add '@available' attribute to enclosing enum
663 | /// Creates a deprecated v0 setup flow that returns a legacy SHA-256 hash.
664 | ///
:
747 | case authenticateCredential(
748 | credential: GestureCredentialEnvelope,
749 | color: Color = .blue,
| `- error: 'blue' is only available in macOS 10.15 or newer
750 | interactionMode: InteractionMode = .drag,
751 | debug: Bool = false,
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:749:20: error: 'Color' is only available in macOS 10.15 or newer
660 |
661 | /// Defines the setup or authentication flow hosted by `GridAuthenticator`.
662 | public enum GridAuthenticatorOption {
| `- note: add '@available' attribute to enclosing enum
663 | /// Creates a deprecated v0 setup flow that returns a legacy SHA-256 hash.
664 | ///
:
747 | case authenticateCredential(
748 | credential: GestureCredentialEnvelope,
749 | color: Color = .blue,
| `- error: 'Color' is only available in macOS 10.15 or newer
750 | interactionMode: InteractionMode = .drag,
751 | debug: Bool = false,
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:772:29: error: 'blue' is only available in macOS 10.15 or newer
660 |
661 | /// Defines the setup or authentication flow hosted by `GridAuthenticator`.
662 | public enum GridAuthenticatorOption {
| `- note: add '@available' attribute to enclosing enum
663 | /// Creates a deprecated v0 setup flow that returns a legacy SHA-256 hash.
664 | ///
:
770 | case authenticateAndUpgrade(
771 | expectedHash: String,
772 | color: Color = .blue,
| `- error: 'blue' is only available in macOS 10.15 or newer
773 | interactionMode: InteractionMode = .drag,
774 | debug: Bool = false,
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:772:20: error: 'Color' is only available in macOS 10.15 or newer
660 |
661 | /// Defines the setup or authentication flow hosted by `GridAuthenticator`.
662 | public enum GridAuthenticatorOption {
| `- note: add '@available' attribute to enclosing enum
663 | /// Creates a deprecated v0 setup flow that returns a legacy SHA-256 hash.
664 | ///
:
770 | case authenticateAndUpgrade(
771 | expectedHash: String,
772 | color: Color = .blue,
| `- error: 'Color' is only available in macOS 10.15 or newer
773 | interactionMode: InteractionMode = .drag,
774 | debug: Bool = false,
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:16:42: error: 'ObservableObject' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| | `- error: 'ObservableObject' is only available in macOS 10.15 or newer
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:10:6: error: 'StateObject' is only available in macOS 11.0 or newer
6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
7 | @MainActor
8 | public struct GridAuthenticator: View {
| `- note: add '@available' attribute to enclosing struct
9 | /// The main-actor state object that owns gesture flow state.
10 | @StateObject public var viewModel: GridAuthenticatorViewModel
| `- error: 'StateObject' is only available in macOS 11.0 or newer
11 |
12 | /// Creates a grid authenticator view for setup or authentication.
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:22:36: error: 'GridItem' is only available in macOS 11.0 or newer
6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
7 | @MainActor
8 | public struct GridAuthenticator: View {
| `- note: add '@available' attribute to enclosing struct
9 | /// The main-actor state object that owns gesture flow state.
10 | @StateObject public var viewModel: GridAuthenticatorViewModel
:
20 | }
21 |
22 | let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
| `- error: 'GridItem' is only available in macOS 11.0 or newer
23 |
24 | public var body: some View {
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:24:27: error: 'View' is only available in macOS 10.15 or newer
6 | /// A SwiftUI 3x3 gesture grid for pattern setup and authentication.
7 | @MainActor
8 | public struct GridAuthenticator: View {
| `- note: add '@available' attribute to enclosing struct
9 | /// The main-actor state object that owns gesture flow state.
10 | @StateObject public var viewModel: GridAuthenticatorViewModel
:
22 | let columns = Array(repeating: GridItem(.fixed(60), spacing: 40), count: 3)
23 |
24 | public var body: some View {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add '@available' attribute to enclosing property
25 | VStack {
26 | if viewModel.debug {
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:149:6: error: 'State' is only available in macOS 10.15 or newer
142 | /// A single selectable circle in the 3x3 gesture grid.
143 | @MainActor
144 | public struct GlowyCircle: View {
| `- note: add '@available' attribute to enclosing struct
145 | /// The zero-based 3x3 grid index represented by this circle.
146 | public var index: Int
147 |
148 | /// Whether the selection glow is currently visible.
149 | @State private var isBeingTouched: Bool = false
| `- error: 'State' is only available in macOS 10.15 or newer
150 |
151 | /// The view model that receives geometry and selection updates.
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:152:6: error: 'ObservedObject' is only available in macOS 10.15 or newer
142 | /// A single selectable circle in the 3x3 gesture grid.
143 | @MainActor
144 | public struct GlowyCircle: View {
| `- note: add '@available' attribute to enclosing struct
145 | /// The zero-based 3x3 grid index represented by this circle.
146 | public var index: Int
:
150 |
151 | /// The view model that receives geometry and selection updates.
152 | @ObservedObject public var viewModel: GridAuthenticatorViewModel
| `- error: 'ObservedObject' is only available in macOS 10.15 or newer
153 |
154 | public var body: some View {
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:154:27: error: 'View' is only available in macOS 10.15 or newer
142 | /// A single selectable circle in the 3x3 gesture grid.
143 | @MainActor
144 | public struct GlowyCircle: View {
| `- note: add '@available' attribute to enclosing struct
145 | /// The zero-based 3x3 grid index represented by this circle.
146 | public var index: Int
:
152 | @ObservedObject public var viewModel: GridAuthenticatorViewModel
153 |
154 | public var body: some View {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add '@available' attribute to enclosing property
155 | ZStack {
156 | Circle()
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/PatternAuthentication.swift:238:31: error: 'View' is only available in macOS 10.15 or newer
235 |
236 | #if DEBUG
237 | struct GridAuthenticatorPreviews: PreviewProvider {
| `- note: add '@available' attribute to enclosing struct
238 | static var previews: some View {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add '@available' attribute to enclosing static property
239 | GridAuthenticator(.setCredential(debug: true) { _ in })
240 | .previewDisplayName("Credential Setup")
[8/11] Compiling PatternAuthentication GridAuthenticatorViewModel.swift
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:18:6: error: 'Published' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
| `- error: 'Published' is only available in macOS 10.15 or newer
19 |
20 | /// Geometry captured from each grid circle in the grid coordinate space.
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:21:6: error: 'Published' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
19 |
20 | /// Geometry captured from each grid circle in the grid coordinate space.
21 | @Published public var cardsData: [CardPreferenceData] = []
| `- error: 'Published' is only available in macOS 10.15 or newer
22 |
23 | /// The particle system used to render drag and replay particles.
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:24:6: error: 'Published' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
22 |
23 | /// The particle system used to render drag and replay particles.
24 | @Published public var particleSystem = ParticleSystem()
| `- error: 'Published' is only available in macOS 10.15 or newer
25 |
26 | /// Whether the current gesture is locked while setup confirmation is pending.
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:27:6: error: 'Published' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
25 |
26 | /// Whether the current gesture is locked while setup confirmation is pending.
27 | @Published public var locked: Bool = false
| `- error: 'Published' is only available in macOS 10.15 or newer
28 |
29 | /// The primary color used by the grid, glow, and particles.
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:30:38: error: 'Color' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
28 |
29 | /// The primary color used by the grid, glow, and particles.
30 | @Published public var viewColor: Color
| `- error: 'Color' is only available in macOS 10.15 or newer
31 |
32 | /// Whether developer diagnostics should be shown in the view.
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:30:6: error: 'Published' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
28 |
29 | /// The primary color used by the grid, glow, and particles.
30 | @Published public var viewColor: Color
| `- error: 'Published' is only available in macOS 10.15 or newer
31 |
32 | /// Whether developer diagnostics should be shown in the view.
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:33:6: error: 'Published' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
31 |
32 | /// Whether developer diagnostics should be shown in the view.
33 | @Published public var debug: Bool
| `- error: 'Published' is only available in macOS 10.15 or newer
34 |
35 | /// The high-level mode for this authenticator instance.
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:39:6: error: 'Published' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
37 |
38 | /// Whether the most recent authentication attempt failed.
39 | @Published public var incorrectHash: Bool?
| `- error: 'Published' is only available in macOS 10.15 or newer
40 |
41 | /// The input style expected by this authenticator.
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:42:6: error: 'Published' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
40 |
41 | /// The input style expected by this authenticator.
42 | @Published public var interactionMode: InteractionMode
| `- error: 'Published' is only available in macOS 10.15 or newer
43 |
44 | /// The number of failed attempts used to drive the shake animation.
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:45:6: error: 'Published' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
43 |
44 | /// The number of failed attempts used to drive the shake animation.
45 | @Published public var incorrectCount: Int = 0
| `- error: 'Published' is only available in macOS 10.15 or newer
46 |
47 | /// Whether setup should replay the entered gesture after input.
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:48:6: error: 'Published' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
46 |
47 | /// Whether setup should replay the entered gesture after input.
48 | @Published public var repeatInput: Bool?
| `- error: 'Published' is only available in macOS 10.15 or newer
49 |
50 | /// Whether setup requires the user to enter the same gesture twice.
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:51:6: error: 'Published' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
49 |
50 | /// Whether setup requires the user to enter the same gesture twice.
51 | @Published public var requireConfirmation: Bool?
| `- error: 'Published' is only available in macOS 10.15 or newer
52 |
53 | /// The legacy v0 SHA-256 hash used by deprecated authentication APIs.
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:54:6: error: 'Published' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
52 |
53 | /// The legacy v0 SHA-256 hash used by deprecated authentication APIs.
54 | @Published public var expectedHash: String?
| `- error: 'Published' is only available in macOS 10.15 or newer
55 |
56 | /// The v1 salted credential envelope used by credential authentication APIs.
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:57:6: error: 'Published' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
55 |
56 | /// The v1 salted credential envelope used by credential authentication APIs.
57 | @Published public var expectedCredential: GestureCredentialEnvelope?
| `- error: 'Published' is only available in macOS 10.15 or newer
58 |
59 | /// The minimum number of vertices required during setup.
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:66:6: error: 'Published' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
64 |
65 | /// Callback invoked after authentication succeeds or fails.
66 | @Published public var authCompletion: ((Bool) -> Void)?
| `- error: 'Published' is only available in macOS 10.15 or newer
67 |
68 | /// Callback invoked by deprecated setup APIs with a legacy v0 hash.
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:69:6: error: 'Published' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
67 |
68 | /// Callback invoked by deprecated setup APIs with a legacy v0 hash.
69 | @Published public var setupCompletion: ((String) -> Void)?
| `- error: 'Published' is only available in macOS 10.15 or newer
70 |
71 | /// Callback invoked by v1 setup APIs with a credential envelope.
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:72:6: error: 'Published' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
70 |
71 | /// Callback invoked by v1 setup APIs with a credential envelope.
72 | @Published public var credentialSetupCompletion: ((GestureCredentialEnvelope) -> Void)?
| `- error: 'Published' is only available in macOS 10.15 or newer
73 |
74 | /// Callback invoked after successful legacy authentication creates a v1 credential.
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:75:6: error: 'Published' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
73 |
74 | /// Callback invoked after successful legacy authentication creates a v1 credential.
75 | @Published public var legacyUpgradeCompletion: ((GestureCredentialEnvelope) -> Void)?
| `- error: 'Published' is only available in macOS 10.15 or newer
76 |
77 | /// The setup confirmation state.
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:78:6: error: 'Published' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
76 |
77 | /// The setup confirmation state.
78 | @Published public var confirmationState: ConfirmationState = .initial
| `- error: 'Published' is only available in macOS 10.15 or newer
79 |
80 | /// The legacy hash of the first setup pattern when confirmation is required.
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:81:6: error: 'Published' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
79 |
80 | /// The legacy hash of the first setup pattern when confirmation is required.
81 | @Published public var firstPatternHash: String?
| `- error: 'Published' is only available in macOS 10.15 or newer
82 |
83 | /// Whether an entered pattern is currently being replayed.
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:84:6: error: 'Published' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
82 |
83 | /// Whether an entered pattern is currently being replayed.
84 | @Published public var isSimulating: Bool = false
| `- error: 'Published' is only available in macOS 10.15 or newer
85 | private var simulationTask: Task<Void, Never>?
86 |
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:85:33: error: 'Task' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
83 | /// Whether an entered pattern is currently being replayed.
84 | @Published public var isSimulating: Bool = false
85 | private var simulationTask: Task<Void, Never>?
| `- error: 'Task' is only available in macOS 10.15 or newer
86 |
87 | /// The in-flight credential derivation or verification task.
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:88:33: error: 'Task' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
86 |
87 | /// The in-flight credential derivation or verification task.
88 | private var credentialTask: Task<Void, Never>?
| `- error: 'Task' is only available in macOS 10.15 or newer
89 |
90 | /// Whether the user currently has an active drag gesture.
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:91:6: error: 'Published' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
89 |
90 | /// Whether the user currently has an active drag gesture.
91 | @Published public var isDragging: Bool = false
| `- error: 'Published' is only available in macOS 10.15 or newer
92 |
93 | /// The most recent user-facing validation or credential error.
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:94:6: error: 'Published' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
92 |
93 | /// The most recent user-facing validation or credential error.
94 | @Published public var lastDragError: String?
| `- error: 'Published' is only available in macOS 10.15 or newer
95 |
96 | /// The last selected grid index in the current gesture.
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:203:34: error: 'DragGesture' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
201 | /// particle state.
202 | /// - Throws: This method does not throw.
203 | public func duringDrag(drag: DragGesture.Value) {
| | `- error: 'DragGesture' is only available in macOS 10.15 or newer
| `- note: add '@available' attribute to enclosing instance method
204 | let wasDragging = isDragging
205 | isDragging = true
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:681:29: error: 'blue' is only available in macOS 10.15 or newer
660 |
661 | /// Defines the setup or authentication flow hosted by `GridAuthenticator`.
662 | public enum GridAuthenticatorOption {
| `- note: add '@available' attribute to enclosing enum
663 | /// Creates a deprecated v0 setup flow that returns a legacy SHA-256 hash.
664 | ///
:
679 | case set(
680 | minimumVertices: Int = 6,
681 | color: Color = .blue,
| `- error: 'blue' is only available in macOS 10.15 or newer
682 | interactionMode: InteractionMode = .drag,
683 | requireConfirmation: Bool = true,
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:681:20: error: 'Color' is only available in macOS 10.15 or newer
660 |
661 | /// Defines the setup or authentication flow hosted by `GridAuthenticator`.
662 | public enum GridAuthenticatorOption {
| `- note: add '@available' attribute to enclosing enum
663 | /// Creates a deprecated v0 setup flow that returns a legacy SHA-256 hash.
664 | ///
:
679 | case set(
680 | minimumVertices: Int = 6,
681 | color: Color = .blue,
| `- error: 'Color' is only available in macOS 10.15 or newer
682 | interactionMode: InteractionMode = .drag,
683 | requireConfirmation: Bool = true,
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:703:29: error: 'blue' is only available in macOS 10.15 or newer
660 |
661 | /// Defines the setup or authentication flow hosted by `GridAuthenticator`.
662 | public enum GridAuthenticatorOption {
| `- note: add '@available' attribute to enclosing enum
663 | /// Creates a deprecated v0 setup flow that returns a legacy SHA-256 hash.
664 | ///
:
701 | case authenticate(
702 | expectedHash: String,
703 | color: Color = .blue,
| `- error: 'blue' is only available in macOS 10.15 or newer
704 | interactionMode: InteractionMode = .drag,
705 | debug: Bool = false,
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:703:20: error: 'Color' is only available in macOS 10.15 or newer
660 |
661 | /// Defines the setup or authentication flow hosted by `GridAuthenticator`.
662 | public enum GridAuthenticatorOption {
| `- note: add '@available' attribute to enclosing enum
663 | /// Creates a deprecated v0 setup flow that returns a legacy SHA-256 hash.
664 | ///
:
701 | case authenticate(
702 | expectedHash: String,
703 | color: Color = .blue,
| `- error: 'Color' is only available in macOS 10.15 or newer
704 | interactionMode: InteractionMode = .drag,
705 | debug: Bool = false,
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:728:29: error: 'blue' is only available in macOS 10.15 or newer
660 |
661 | /// Defines the setup or authentication flow hosted by `GridAuthenticator`.
662 | public enum GridAuthenticatorOption {
| `- note: add '@available' attribute to enclosing enum
663 | /// Creates a deprecated v0 setup flow that returns a legacy SHA-256 hash.
664 | ///
:
726 | case setCredential(
727 | minimumVertices: Int = 6,
728 | color: Color = .blue,
| `- error: 'blue' is only available in macOS 10.15 or newer
729 | interactionMode: InteractionMode = .drag,
730 | requireConfirmation: Bool = true,
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:728:20: error: 'Color' is only available in macOS 10.15 or newer
660 |
661 | /// Defines the setup or authentication flow hosted by `GridAuthenticator`.
662 | public enum GridAuthenticatorOption {
| `- note: add '@available' attribute to enclosing enum
663 | /// Creates a deprecated v0 setup flow that returns a legacy SHA-256 hash.
664 | ///
:
726 | case setCredential(
727 | minimumVertices: Int = 6,
728 | color: Color = .blue,
| `- error: 'Color' is only available in macOS 10.15 or newer
729 | interactionMode: InteractionMode = .drag,
730 | requireConfirmation: Bool = true,
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:749:29: error: 'blue' is only available in macOS 10.15 or newer
660 |
661 | /// Defines the setup or authentication flow hosted by `GridAuthenticator`.
662 | public enum GridAuthenticatorOption {
| `- note: add '@available' attribute to enclosing enum
663 | /// Creates a deprecated v0 setup flow that returns a legacy SHA-256 hash.
664 | ///
:
747 | case authenticateCredential(
748 | credential: GestureCredentialEnvelope,
749 | color: Color = .blue,
| `- error: 'blue' is only available in macOS 10.15 or newer
750 | interactionMode: InteractionMode = .drag,
751 | debug: Bool = false,
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:749:20: error: 'Color' is only available in macOS 10.15 or newer
660 |
661 | /// Defines the setup or authentication flow hosted by `GridAuthenticator`.
662 | public enum GridAuthenticatorOption {
| `- note: add '@available' attribute to enclosing enum
663 | /// Creates a deprecated v0 setup flow that returns a legacy SHA-256 hash.
664 | ///
:
747 | case authenticateCredential(
748 | credential: GestureCredentialEnvelope,
749 | color: Color = .blue,
| `- error: 'Color' is only available in macOS 10.15 or newer
750 | interactionMode: InteractionMode = .drag,
751 | debug: Bool = false,
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:772:29: error: 'blue' is only available in macOS 10.15 or newer
660 |
661 | /// Defines the setup or authentication flow hosted by `GridAuthenticator`.
662 | public enum GridAuthenticatorOption {
| `- note: add '@available' attribute to enclosing enum
663 | /// Creates a deprecated v0 setup flow that returns a legacy SHA-256 hash.
664 | ///
:
770 | case authenticateAndUpgrade(
771 | expectedHash: String,
772 | color: Color = .blue,
| `- error: 'blue' is only available in macOS 10.15 or newer
773 | interactionMode: InteractionMode = .drag,
774 | debug: Bool = false,
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:772:20: error: 'Color' is only available in macOS 10.15 or newer
660 |
661 | /// Defines the setup or authentication flow hosted by `GridAuthenticator`.
662 | public enum GridAuthenticatorOption {
| `- note: add '@available' attribute to enclosing enum
663 | /// Creates a deprecated v0 setup flow that returns a legacy SHA-256 hash.
664 | ///
:
770 | case authenticateAndUpgrade(
771 | expectedHash: String,
772 | color: Color = .blue,
| `- error: 'Color' is only available in macOS 10.15 or newer
773 | interactionMode: InteractionMode = .drag,
774 | debug: Bool = false,
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:16:42: error: 'ObservableObject' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| | `- error: 'ObservableObject' is only available in macOS 10.15 or newer
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
<unknown>:0: error: cannot convert value of type 'KeyPath<GridAuthenticatorViewModel, [Int]>' to expected argument type 'ReferenceWritableKeyPath<GridAuthenticatorViewModel, [Int]>'
<unknown>:0: error: cannot convert value of type 'KeyPath<GridAuthenticatorViewModel, [CardPreferenceData]>' to expected argument type 'ReferenceWritableKeyPath<GridAuthenticatorViewModel, [CardPreferenceData]>'
<unknown>:0: error: cannot convert value of type 'KeyPath<GridAuthenticatorViewModel, ParticleSystem>' to expected argument type 'ReferenceWritableKeyPath<GridAuthenticatorViewModel, ParticleSystem>'
<unknown>:0: error: cannot convert value of type 'KeyPath<GridAuthenticatorViewModel, Bool>' to expected argument type 'ReferenceWritableKeyPath<GridAuthenticatorViewModel, Bool>'
<unknown>:0: error: cannot convert value of type 'KeyPath<GridAuthenticatorViewModel, Color>' to expected argument type 'ReferenceWritableKeyPath<GridAuthenticatorViewModel, Color>'
<unknown>:0: error: cannot convert value of type 'KeyPath<GridAuthenticatorViewModel, Bool>' to expected argument type 'ReferenceWritableKeyPath<GridAuthenticatorViewModel, Bool>'
<unknown>:0: error: cannot convert value of type 'KeyPath<GridAuthenticatorViewModel, Bool?>' to expected argument type 'ReferenceWritableKeyPath<GridAuthenticatorViewModel, Bool?>'
<unknown>:0: error: cannot convert value of type 'KeyPath<GridAuthenticatorViewModel, GridAuthenticatorViewModel.InteractionMode>' to expected argument type 'ReferenceWritableKeyPath<GridAuthenticatorViewModel, GridAuthenticatorViewModel.InteractionMode>'
<unknown>:0: error: cannot convert value of type 'KeyPath<GridAuthenticatorViewModel, Int>' to expected argument type 'ReferenceWritableKeyPath<GridAuthenticatorViewModel, Int>'
<unknown>:0: error: cannot convert value of type 'KeyPath<GridAuthenticatorViewModel, Bool?>' to expected argument type 'ReferenceWritableKeyPath<GridAuthenticatorViewModel, Bool?>'
<unknown>:0: error: cannot convert value of type 'KeyPath<GridAuthenticatorViewModel, Bool?>' to expected argument type 'ReferenceWritableKeyPath<GridAuthenticatorViewModel, Bool?>'
<unknown>:0: error: cannot convert value of type 'KeyPath<GridAuthenticatorViewModel, String?>' to expected argument type 'ReferenceWritableKeyPath<GridAuthenticatorViewModel, String?>'
<unknown>:0: error: cannot convert value of type 'KeyPath<GridAuthenticatorViewModel, GestureCredentialEnvelope?>' to expected argument type 'ReferenceWritableKeyPath<GridAuthenticatorViewModel, GestureCredentialEnvelope?>'
<unknown>:0: error: cannot convert value of type 'KeyPath<GridAuthenticatorViewModel, ((Bool) -> Void)?>' to expected argument type 'ReferenceWritableKeyPath<GridAuthenticatorViewModel, ((Bool) -> Void)?>'
<unknown>:0: error: cannot convert value of type 'KeyPath<GridAuthenticatorViewModel, ((String) -> Void)?>' to expected argument type 'ReferenceWritableKeyPath<GridAuthenticatorViewModel, ((String) -> Void)?>'
<unknown>:0: error: cannot convert value of type 'KeyPath<GridAuthenticatorViewModel, ((GestureCredentialEnvelope) -> Void)?>' to expected argument type 'ReferenceWritableKeyPath<GridAuthenticatorViewModel, ((GestureCredentialEnvelope) -> Void)?>'
<unknown>:0: error: cannot convert value of type 'KeyPath<GridAuthenticatorViewModel, ((GestureCredentialEnvelope) -> Void)?>' to expected argument type 'ReferenceWritableKeyPath<GridAuthenticatorViewModel, ((GestureCredentialEnvelope) -> Void)?>'
<unknown>:0: error: cannot convert value of type 'KeyPath<GridAuthenticatorViewModel, GridAuthenticatorViewModel.ConfirmationState>' to expected argument type 'ReferenceWritableKeyPath<GridAuthenticatorViewModel, GridAuthenticatorViewModel.ConfirmationState>'
<unknown>:0: error: cannot convert value of type 'KeyPath<GridAuthenticatorViewModel, String?>' to expected argument type 'ReferenceWritableKeyPath<GridAuthenticatorViewModel, String?>'
<unknown>:0: error: cannot convert value of type 'KeyPath<GridAuthenticatorViewModel, Bool>' to expected argument type 'ReferenceWritableKeyPath<GridAuthenticatorViewModel, Bool>'
<unknown>:0: error: cannot convert value of type 'KeyPath<GridAuthenticatorViewModel, Bool>' to expected argument type 'ReferenceWritableKeyPath<GridAuthenticatorViewModel, Bool>'
<unknown>:0: error: cannot convert value of type 'KeyPath<GridAuthenticatorViewModel, String?>' to expected argument type 'ReferenceWritableKeyPath<GridAuthenticatorViewModel, String?>'
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:121:13: error: setter for 'expectedHash' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
116 | /// - Returns: A main-actor view model configured for `authOption`.
117 | /// - Throws: This initializer does not throw.
118 | public init(_ authOption: GridAuthenticatorOption) {
| `- note: add '@available' attribute to enclosing initializer
119 | switch authOption {
120 | case let .authenticate(expectedHash, color, interactionMode, debug, completion):
121 | self.expectedHash = expectedHash
| |- error: setter for 'expectedHash' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
122 | viewColor = color
123 | self.interactionMode = interactionMode
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:122:13: error: setter for 'viewColor' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
116 | /// - Returns: A main-actor view model configured for `authOption`.
117 | /// - Throws: This initializer does not throw.
118 | public init(_ authOption: GridAuthenticatorOption) {
| `- note: add '@available' attribute to enclosing initializer
119 | switch authOption {
120 | case let .authenticate(expectedHash, color, interactionMode, debug, completion):
121 | self.expectedHash = expectedHash
122 | viewColor = color
| |- error: setter for 'viewColor' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
123 | self.interactionMode = interactionMode
124 | self.debug = debug
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:123:13: error: setter for 'interactionMode' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
116 | /// - Returns: A main-actor view model configured for `authOption`.
117 | /// - Throws: This initializer does not throw.
118 | public init(_ authOption: GridAuthenticatorOption) {
| `- note: add '@available' attribute to enclosing initializer
119 | switch authOption {
120 | case let .authenticate(expectedHash, color, interactionMode, debug, completion):
121 | self.expectedHash = expectedHash
122 | viewColor = color
123 | self.interactionMode = interactionMode
| |- error: setter for 'interactionMode' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
124 | self.debug = debug
125 | mode = .authenticate
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:124:13: error: setter for 'debug' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
116 | /// - Returns: A main-actor view model configured for `authOption`.
117 | /// - Throws: This initializer does not throw.
118 | public init(_ authOption: GridAuthenticatorOption) {
| `- note: add '@available' attribute to enclosing initializer
119 | switch authOption {
120 | case let .authenticate(expectedHash, color, interactionMode, debug, completion):
:
122 | viewColor = color
123 | self.interactionMode = interactionMode
124 | self.debug = debug
| |- error: setter for 'debug' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
125 | mode = .authenticate
126 | authCompletion = completion
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:126:13: error: setter for 'authCompletion' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
116 | /// - Returns: A main-actor view model configured for `authOption`.
117 | /// - Throws: This initializer does not throw.
118 | public init(_ authOption: GridAuthenticatorOption) {
| `- note: add '@available' attribute to enclosing initializer
119 | switch authOption {
120 | case let .authenticate(expectedHash, color, interactionMode, debug, completion):
:
124 | self.debug = debug
125 | mode = .authenticate
126 | authCompletion = completion
| |- error: setter for 'authCompletion' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
127 |
128 | case let .authenticateAndUpgrade(expectedHash, color, interactionMode, debug, configuration, onCredentialUpgrade, completion):
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:129:13: error: setter for 'expectedHash' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
116 | /// - Returns: A main-actor view model configured for `authOption`.
117 | /// - Throws: This initializer does not throw.
118 | public init(_ authOption: GridAuthenticatorOption) {
| `- note: add '@available' attribute to enclosing initializer
119 | switch authOption {
120 | case let .authenticate(expectedHash, color, interactionMode, debug, completion):
:
127 |
128 | case let .authenticateAndUpgrade(expectedHash, color, interactionMode, debug, configuration, onCredentialUpgrade, completion):
129 | self.expectedHash = expectedHash
| |- error: setter for 'expectedHash' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
130 | viewColor = color
131 | self.interactionMode = interactionMode
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:130:13: error: setter for 'viewColor' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
116 | /// - Returns: A main-actor view model configured for `authOption`.
117 | /// - Throws: This initializer does not throw.
118 | public init(_ authOption: GridAuthenticatorOption) {
| `- note: add '@available' attribute to enclosing initializer
119 | switch authOption {
120 | case let .authenticate(expectedHash, color, interactionMode, debug, completion):
:
128 | case let .authenticateAndUpgrade(expectedHash, color, interactionMode, debug, configuration, onCredentialUpgrade, completion):
129 | self.expectedHash = expectedHash
130 | viewColor = color
| |- error: setter for 'viewColor' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
131 | self.interactionMode = interactionMode
132 | self.debug = debug
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:131:13: error: setter for 'interactionMode' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
116 | /// - Returns: A main-actor view model configured for `authOption`.
117 | /// - Throws: This initializer does not throw.
118 | public init(_ authOption: GridAuthenticatorOption) {
| `- note: add '@available' attribute to enclosing initializer
119 | switch authOption {
120 | case let .authenticate(expectedHash, color, interactionMode, debug, completion):
:
129 | self.expectedHash = expectedHash
130 | viewColor = color
131 | self.interactionMode = interactionMode
| |- error: setter for 'interactionMode' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
132 | self.debug = debug
133 | hashConfiguration = configuration
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:132:13: error: setter for 'debug' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
116 | /// - Returns: A main-actor view model configured for `authOption`.
117 | /// - Throws: This initializer does not throw.
118 | public init(_ authOption: GridAuthenticatorOption) {
| `- note: add '@available' attribute to enclosing initializer
119 | switch authOption {
120 | case let .authenticate(expectedHash, color, interactionMode, debug, completion):
:
130 | viewColor = color
131 | self.interactionMode = interactionMode
132 | self.debug = debug
| |- error: setter for 'debug' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
133 | hashConfiguration = configuration
134 | mode = .authenticate
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:135:13: error: setter for 'legacyUpgradeCompletion' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
116 | /// - Returns: A main-actor view model configured for `authOption`.
117 | /// - Throws: This initializer does not throw.
118 | public init(_ authOption: GridAuthenticatorOption) {
| `- note: add '@available' attribute to enclosing initializer
119 | switch authOption {
120 | case let .authenticate(expectedHash, color, interactionMode, debug, completion):
:
133 | hashConfiguration = configuration
134 | mode = .authenticate
135 | legacyUpgradeCompletion = onCredentialUpgrade
| |- error: setter for 'legacyUpgradeCompletion' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
136 | authCompletion = completion
137 |
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:136:13: error: setter for 'authCompletion' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
116 | /// - Returns: A main-actor view model configured for `authOption`.
117 | /// - Throws: This initializer does not throw.
118 | public init(_ authOption: GridAuthenticatorOption) {
| `- note: add '@available' attribute to enclosing initializer
119 | switch authOption {
120 | case let .authenticate(expectedHash, color, interactionMode, debug, completion):
:
134 | mode = .authenticate
135 | legacyUpgradeCompletion = onCredentialUpgrade
136 | authCompletion = completion
| |- error: setter for 'authCompletion' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
137 |
138 | case let .authenticateCredential(credential, color, interactionMode, debug, completion):
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:139:13: error: setter for 'expectedCredential' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
116 | /// - Returns: A main-actor view model configured for `authOption`.
117 | /// - Throws: This initializer does not throw.
118 | public init(_ authOption: GridAuthenticatorOption) {
| `- note: add '@available' attribute to enclosing initializer
119 | switch authOption {
120 | case let .authenticate(expectedHash, color, interactionMode, debug, completion):
:
137 |
138 | case let .authenticateCredential(credential, color, interactionMode, debug, completion):
139 | expectedCredential = credential
| |- error: setter for 'expectedCredential' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
140 | viewColor = color
141 | self.interactionMode = interactionMode
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:140:13: error: setter for 'viewColor' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
116 | /// - Returns: A main-actor view model configured for `authOption`.
117 | /// - Throws: This initializer does not throw.
118 | public init(_ authOption: GridAuthenticatorOption) {
| `- note: add '@available' attribute to enclosing initializer
119 | switch authOption {
120 | case let .authenticate(expectedHash, color, interactionMode, debug, completion):
:
138 | case let .authenticateCredential(credential, color, interactionMode, debug, completion):
139 | expectedCredential = credential
140 | viewColor = color
| |- error: setter for 'viewColor' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
141 | self.interactionMode = interactionMode
142 | self.debug = debug
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:141:13: error: setter for 'interactionMode' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
116 | /// - Returns: A main-actor view model configured for `authOption`.
117 | /// - Throws: This initializer does not throw.
118 | public init(_ authOption: GridAuthenticatorOption) {
| `- note: add '@available' attribute to enclosing initializer
119 | switch authOption {
120 | case let .authenticate(expectedHash, color, interactionMode, debug, completion):
:
139 | expectedCredential = credential
140 | viewColor = color
141 | self.interactionMode = interactionMode
| |- error: setter for 'interactionMode' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
142 | self.debug = debug
143 | mode = .authenticate
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:142:13: error: setter for 'debug' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
116 | /// - Returns: A main-actor view model configured for `authOption`.
117 | /// - Throws: This initializer does not throw.
118 | public init(_ authOption: GridAuthenticatorOption) {
| `- note: add '@available' attribute to enclosing initializer
119 | switch authOption {
120 | case let .authenticate(expectedHash, color, interactionMode, debug, completion):
:
140 | viewColor = color
141 | self.interactionMode = interactionMode
142 | self.debug = debug
| |- error: setter for 'debug' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
143 | mode = .authenticate
144 | authCompletion = completion
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:144:13: error: setter for 'authCompletion' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
116 | /// - Returns: A main-actor view model configured for `authOption`.
117 | /// - Throws: This initializer does not throw.
118 | public init(_ authOption: GridAuthenticatorOption) {
| `- note: add '@available' attribute to enclosing initializer
119 | switch authOption {
120 | case let .authenticate(expectedHash, color, interactionMode, debug, completion):
:
142 | self.debug = debug
143 | mode = .authenticate
144 | authCompletion = completion
| |- error: setter for 'authCompletion' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
145 |
146 | case let .set(minimumVertices, color, interactionMode, requireConfirmation, repeatInput, debug, completion):
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:148:13: error: setter for 'repeatInput' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
116 | /// - Returns: A main-actor view model configured for `authOption`.
117 | /// - Throws: This initializer does not throw.
118 | public init(_ authOption: GridAuthenticatorOption) {
| `- note: add '@available' attribute to enclosing initializer
119 | switch authOption {
120 | case let .authenticate(expectedHash, color, interactionMode, debug, completion):
:
146 | case let .set(minimumVertices, color, interactionMode, requireConfirmation, repeatInput, debug, completion):
147 | self.minimumVertices = minimumVertices
148 | self.repeatInput = repeatInput
| |- error: setter for 'repeatInput' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
149 | viewColor = color
150 | self.interactionMode = interactionMode
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:149:13: error: setter for 'viewColor' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
116 | /// - Returns: A main-actor view model configured for `authOption`.
117 | /// - Throws: This initializer does not throw.
118 | public init(_ authOption: GridAuthenticatorOption) {
| `- note: add '@available' attribute to enclosing initializer
119 | switch authOption {
120 | case let .authenticate(expectedHash, color, interactionMode, debug, completion):
:
147 | self.minimumVertices = minimumVertices
148 | self.repeatInput = repeatInput
149 | viewColor = color
| |- error: setter for 'viewColor' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
150 | self.interactionMode = interactionMode
151 | self.requireConfirmation = requireConfirmation
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:150:13: error: setter for 'interactionMode' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
116 | /// - Returns: A main-actor view model configured for `authOption`.
117 | /// - Throws: This initializer does not throw.
118 | public init(_ authOption: GridAuthenticatorOption) {
| `- note: add '@available' attribute to enclosing initializer
119 | switch authOption {
120 | case let .authenticate(expectedHash, color, interactionMode, debug, completion):
:
148 | self.repeatInput = repeatInput
149 | viewColor = color
150 | self.interactionMode = interactionMode
| |- error: setter for 'interactionMode' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
151 | self.requireConfirmation = requireConfirmation
152 | self.debug = debug
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:151:13: error: setter for 'requireConfirmation' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
116 | /// - Returns: A main-actor view model configured for `authOption`.
117 | /// - Throws: This initializer does not throw.
118 | public init(_ authOption: GridAuthenticatorOption) {
| `- note: add '@available' attribute to enclosing initializer
119 | switch authOption {
120 | case let .authenticate(expectedHash, color, interactionMode, debug, completion):
:
149 | viewColor = color
150 | self.interactionMode = interactionMode
151 | self.requireConfirmation = requireConfirmation
| |- error: setter for 'requireConfirmation' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
152 | self.debug = debug
153 | mode = .set
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:152:13: error: setter for 'debug' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
116 | /// - Returns: A main-actor view model configured for `authOption`.
117 | /// - Throws: This initializer does not throw.
118 | public init(_ authOption: GridAuthenticatorOption) {
| `- note: add '@available' attribute to enclosing initializer
119 | switch authOption {
120 | case let .authenticate(expectedHash, color, interactionMode, debug, completion):
:
150 | self.interactionMode = interactionMode
151 | self.requireConfirmation = requireConfirmation
152 | self.debug = debug
| |- error: setter for 'debug' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
153 | mode = .set
154 | setupCompletion = completion
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:154:13: error: setter for 'setupCompletion' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
116 | /// - Returns: A main-actor view model configured for `authOption`.
117 | /// - Throws: This initializer does not throw.
118 | public init(_ authOption: GridAuthenticatorOption) {
| `- note: add '@available' attribute to enclosing initializer
119 | switch authOption {
120 | case let .authenticate(expectedHash, color, interactionMode, debug, completion):
:
152 | self.debug = debug
153 | mode = .set
154 | setupCompletion = completion
| |- error: setter for 'setupCompletion' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
155 |
156 | case let .setCredential(minimumVertices, color, interactionMode, requireConfirmation, repeatInput, debug, configuration, completion):
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:158:13: error: setter for 'repeatInput' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
116 | /// - Returns: A main-actor view model configured for `authOption`.
117 | /// - Throws: This initializer does not throw.
118 | public init(_ authOption: GridAuthenticatorOption) {
| `- note: add '@available' attribute to enclosing initializer
119 | switch authOption {
120 | case let .authenticate(expectedHash, color, interactionMode, debug, completion):
:
156 | case let .setCredential(minimumVertices, color, interactionMode, requireConfirmation, repeatInput, debug, configuration, completion):
157 | self.minimumVertices = minimumVertices
158 | self.repeatInput = repeatInput
| |- error: setter for 'repeatInput' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
159 | viewColor = color
160 | self.interactionMode = interactionMode
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:159:13: error: setter for 'viewColor' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
116 | /// - Returns: A main-actor view model configured for `authOption`.
117 | /// - Throws: This initializer does not throw.
118 | public init(_ authOption: GridAuthenticatorOption) {
| `- note: add '@available' attribute to enclosing initializer
119 | switch authOption {
120 | case let .authenticate(expectedHash, color, interactionMode, debug, completion):
:
157 | self.minimumVertices = minimumVertices
158 | self.repeatInput = repeatInput
159 | viewColor = color
| |- error: setter for 'viewColor' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
160 | self.interactionMode = interactionMode
161 | self.requireConfirmation = requireConfirmation
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:160:13: error: setter for 'interactionMode' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
116 | /// - Returns: A main-actor view model configured for `authOption`.
117 | /// - Throws: This initializer does not throw.
118 | public init(_ authOption: GridAuthenticatorOption) {
| `- note: add '@available' attribute to enclosing initializer
119 | switch authOption {
120 | case let .authenticate(expectedHash, color, interactionMode, debug, completion):
:
158 | self.repeatInput = repeatInput
159 | viewColor = color
160 | self.interactionMode = interactionMode
| |- error: setter for 'interactionMode' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
161 | self.requireConfirmation = requireConfirmation
162 | self.debug = debug
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:161:13: error: setter for 'requireConfirmation' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
116 | /// - Returns: A main-actor view model configured for `authOption`.
117 | /// - Throws: This initializer does not throw.
118 | public init(_ authOption: GridAuthenticatorOption) {
| `- note: add '@available' attribute to enclosing initializer
119 | switch authOption {
120 | case let .authenticate(expectedHash, color, interactionMode, debug, completion):
:
159 | viewColor = color
160 | self.interactionMode = interactionMode
161 | self.requireConfirmation = requireConfirmation
| |- error: setter for 'requireConfirmation' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
162 | self.debug = debug
163 | hashConfiguration = configuration
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:162:13: error: setter for 'debug' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
116 | /// - Returns: A main-actor view model configured for `authOption`.
117 | /// - Throws: This initializer does not throw.
118 | public init(_ authOption: GridAuthenticatorOption) {
| `- note: add '@available' attribute to enclosing initializer
119 | switch authOption {
120 | case let .authenticate(expectedHash, color, interactionMode, debug, completion):
:
160 | self.interactionMode = interactionMode
161 | self.requireConfirmation = requireConfirmation
162 | self.debug = debug
| |- error: setter for 'debug' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
163 | hashConfiguration = configuration
164 | mode = .set
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:165:13: error: setter for 'credentialSetupCompletion' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
116 | /// - Returns: A main-actor view model configured for `authOption`.
117 | /// - Throws: This initializer does not throw.
118 | public init(_ authOption: GridAuthenticatorOption) {
| `- note: add '@available' attribute to enclosing initializer
119 | switch authOption {
120 | case let .authenticate(expectedHash, color, interactionMode, debug, completion):
:
163 | hashConfiguration = configuration
164 | mode = .set
165 | credentialSetupCompletion = completion
| |- error: setter for 'credentialSetupCompletion' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
166 | }
167 | }
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:205:9: error: setter for 'isDragging' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
201 | /// particle state.
202 | /// - Throws: This method does not throw.
203 | public func duringDrag(drag: DragGesture.Value) {
| `- note: add '@available' attribute to enclosing instance method
204 | let wasDragging = isDragging
205 | isDragging = true
| |- error: setter for 'isDragging' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
206 | guard !locked else { return }
207 |
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:214:13: error: cannot pass as inout because setter for 'selectedCardsIndices' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
201 | /// particle state.
202 | /// - Throws: This method does not throw.
203 | public func duringDrag(drag: DragGesture.Value) {
| `- note: add '@available' attribute to enclosing instance method
204 | let wasDragging = isDragging
205 | isDragging = true
:
212 | if let data = cardsData.first(where: { $0.bounds.contains(drag.location) }),
213 | selectedCardsIndices.last ?? -1 != data.index {
214 | selectedCardsIndices.append(data.index)
| |- error: cannot pass as inout because setter for 'selectedCardsIndices' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
215 | }
216 |
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:227:9: error: setter for 'isDragging' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
224 | /// - Throws: This method does not throw. Credential errors are converted to
225 | /// user-facing state.
226 | public func afterDrag() {
| `- note: add '@available' attribute to enclosing instance method
227 | isDragging = false
| |- error: setter for 'isDragging' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
228 | guard !selectedCardsIndices.isEmpty else { return }
229 | particleSystem.resetTrail()
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:239:13: error: setter for 'locked' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
224 | /// - Throws: This method does not throw. Credential errors are converted to
225 | /// user-facing state.
226 | public func afterDrag() {
| `- note: add '@available' attribute to enclosing instance method
227 | isDragging = false
228 | guard !selectedCardsIndices.isEmpty else { return }
:
237 | authenticateHash()
238 | case .set:
239 | locked = true
| |- error: setter for 'locked' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
240 | lastDragError = nil
241 | guard valid else {
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:240:13: error: setter for 'lastDragError' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
224 | /// - Throws: This method does not throw. Credential errors are converted to
225 | /// user-facing state.
226 | public func afterDrag() {
| `- note: add '@available' attribute to enclosing instance method
227 | isDragging = false
228 | guard !selectedCardsIndices.isEmpty else { return }
:
238 | case .set:
239 | locked = true
240 | lastDragError = nil
| |- error: setter for 'lastDragError' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
241 | guard valid else {
242 | withAnimation {
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:242:17: error: 'withAnimation' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
224 | /// - Throws: This method does not throw. Credential errors are converted to
225 | /// user-facing state.
226 | public func afterDrag() {
| `- note: add '@available' attribute to enclosing instance method
227 | isDragging = false
228 | guard !selectedCardsIndices.isEmpty else { return }
:
240 | lastDragError = nil
241 | guard valid else {
242 | withAnimation {
| |- error: 'withAnimation' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
243 | incorrectCount += 1
244 | }
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:243:21: error: cannot pass as inout because setter for 'incorrectCount' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
224 | /// - Throws: This method does not throw. Credential errors are converted to
225 | /// user-facing state.
226 | public func afterDrag() {
| `- note: add '@available' attribute to enclosing instance method
227 | isDragging = false
228 | guard !selectedCardsIndices.isEmpty else { return }
:
241 | guard valid else {
242 | withAnimation {
243 | incorrectCount += 1
| |- error: cannot pass as inout because setter for 'incorrectCount' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
244 | }
245 | lastDragError = "Not long enough. Pattern must include at least \(minimumVertices ?? .max) vertices"
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:245:17: error: setter for 'lastDragError' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
224 | /// - Throws: This method does not throw. Credential errors are converted to
225 | /// user-facing state.
226 | public func afterDrag() {
| `- note: add '@available' attribute to enclosing instance method
227 | isDragging = false
228 | guard !selectedCardsIndices.isEmpty else { return }
:
243 | incorrectCount += 1
244 | }
245 | lastDragError = "Not long enough. Pattern must include at least \(minimumVertices ?? .max) vertices"
| |- error: setter for 'lastDragError' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
246 | return
247 | }
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:300:9: error: setter for 'isSimulating' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
292 | /// updated asynchronously on the main actor.
293 | /// - Throws: This method does not throw.
294 | func simulatePattern(
| `- note: add '@available' attribute to enclosing instance method
295 | _ pattern: [Int],
296 | initialDelayNanoseconds: UInt64,
:
298 | ) {
299 | cancelSimulation()
300 | isSimulating = true
| |- error: setter for 'isSimulating' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
301 | simulationTask = Task { @MainActor in
302 | particleSystem.resetTrail()
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:305:17: error: setter for 'isSimulating' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
292 | /// updated asynchronously on the main actor.
293 | /// - Throws: This method does not throw.
294 | func simulatePattern(
| `- note: add '@available' attribute to enclosing instance method
295 | _ pattern: [Int],
296 | initialDelayNanoseconds: UInt64,
:
303 | defer {
304 | particleSystem.resetTrail()
305 | isSimulating = false
| |- error: setter for 'isSimulating' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
306 | }
307 | if initialDelayNanoseconds > 0 {
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:301:26: error: 'Task' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
292 | /// updated asynchronously on the main actor.
293 | /// - Throws: This method does not throw.
294 | func simulatePattern(
| `- note: add '@available' attribute to enclosing instance method
295 | _ pattern: [Int],
296 | initialDelayNanoseconds: UInt64,
:
299 | cancelSimulation()
300 | isSimulating = true
301 | simulationTask = Task { @MainActor in
| |- error: 'Task' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
302 | particleSystem.resetTrail()
303 | defer {
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:301:26: error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
292 | /// updated asynchronously on the main actor.
293 | /// - Throws: This method does not throw.
294 | func simulatePattern(
| `- note: add '@available' attribute to enclosing instance method
295 | _ pattern: [Int],
296 | initialDelayNanoseconds: UInt64,
:
299 | cancelSimulation()
300 | isSimulating = true
301 | simulationTask = Task { @MainActor in
| |- error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
302 | particleSystem.resetTrail()
303 | defer {
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:308:28: error: 'Task' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
292 | /// updated asynchronously on the main actor.
293 | /// - Throws: This method does not throw.
294 | func simulatePattern(
| `- note: add '@available' attribute to enclosing instance method
295 | _ pattern: [Int],
296 | initialDelayNanoseconds: UInt64,
:
306 | }
307 | if initialDelayNanoseconds > 0 {
308 | try? await Task.sleep(nanoseconds: initialDelayNanoseconds)
| |- error: 'Task' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
309 | }
310 | let replayPoints = simulationPoints(for: pattern)
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:308:33: error: 'sleep(nanoseconds:)' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
292 | /// updated asynchronously on the main actor.
293 | /// - Throws: This method does not throw.
294 | func simulatePattern(
| `- note: add '@available' attribute to enclosing instance method
295 | _ pattern: [Int],
296 | initialDelayNanoseconds: UInt64,
:
306 | }
307 | if initialDelayNanoseconds > 0 {
308 | try? await Task.sleep(nanoseconds: initialDelayNanoseconds)
| |- error: 'sleep(nanoseconds:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
309 | }
310 | let replayPoints = simulationPoints(for: pattern)
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:313:20: error: 'Task' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
292 | /// updated asynchronously on the main actor.
293 | /// - Throws: This method does not throw.
294 | func simulatePattern(
| `- note: add '@available' attribute to enclosing instance method
295 | _ pattern: [Int],
296 | initialDelayNanoseconds: UInt64,
:
311 |
312 | for point in replayPoints {
313 | if Task.isCancelled { return }
| |- error: 'Task' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
314 | particleSystem.addParticle(at: point)
315 | if pointDelayNanoseconds > 0 {
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:313:25: error: 'isCancelled' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
292 | /// updated asynchronously on the main actor.
293 | /// - Throws: This method does not throw.
294 | func simulatePattern(
| `- note: add '@available' attribute to enclosing instance method
295 | _ pattern: [Int],
296 | initialDelayNanoseconds: UInt64,
:
311 |
312 | for point in replayPoints {
313 | if Task.isCancelled { return }
| |- error: 'isCancelled' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
314 | particleSystem.addParticle(at: point)
315 | if pointDelayNanoseconds > 0 {
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:316:32: error: 'Task' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
292 | /// updated asynchronously on the main actor.
293 | /// - Throws: This method does not throw.
294 | func simulatePattern(
| `- note: add '@available' attribute to enclosing instance method
295 | _ pattern: [Int],
296 | initialDelayNanoseconds: UInt64,
:
314 | particleSystem.addParticle(at: point)
315 | if pointDelayNanoseconds > 0 {
316 | try? await Task.sleep(nanoseconds: pointDelayNanoseconds)
| |- error: 'Task' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
317 | }
318 | }
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:316:37: error: 'sleep(nanoseconds:)' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
292 | /// updated asynchronously on the main actor.
293 | /// - Throws: This method does not throw.
294 | func simulatePattern(
| `- note: add '@available' attribute to enclosing instance method
295 | _ pattern: [Int],
296 | initialDelayNanoseconds: UInt64,
:
314 | particleSystem.addParticle(at: point)
315 | if pointDelayNanoseconds > 0 {
316 | try? await Task.sleep(nanoseconds: pointDelayNanoseconds)
| |- error: 'sleep(nanoseconds:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
317 | }
318 | }
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:365:25: error: 'cancel()' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
362 | /// This method does not return a value. Replay state is reset immediately.
363 | /// - Throws: This method does not throw.
364 | public func cancelSimulation() {
| `- note: add '@available' attribute to enclosing instance method
365 | simulationTask?.cancel()
| |- error: 'cancel()' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
366 | simulationTask = nil
367 | isSimulating = false
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:367:9: error: setter for 'isSimulating' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
362 | /// This method does not return a value. Replay state is reset immediately.
363 | /// - Throws: This method does not throw.
364 | public func cancelSimulation() {
| `- note: add '@available' attribute to enclosing instance method
365 | simulationTask?.cancel()
366 | simulationTask = nil
367 | isSimulating = false
| |- error: setter for 'isSimulating' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
368 | }
369 |
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:377:13: error: setter for 'firstPatternHash' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
373 | /// confirmation state is updated and the selection is cleared.
374 | /// - Throws: This method does not throw.
375 | public func confirmPattern() {
| `- note: add '@available' attribute to enclosing instance method
376 | if valid {
377 | firstPatternHash = currentHash
| |- error: setter for 'firstPatternHash' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
378 | confirmationState = .awaitingConfirmation
379 | selectedCardsIndices = []
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:378:13: error: setter for 'confirmationState' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
373 | /// confirmation state is updated and the selection is cleared.
374 | /// - Throws: This method does not throw.
375 | public func confirmPattern() {
| `- note: add '@available' attribute to enclosing instance method
376 | if valid {
377 | firstPatternHash = currentHash
378 | confirmationState = .awaitingConfirmation
| |- error: setter for 'confirmationState' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
379 | selectedCardsIndices = []
380 | locked = false
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:379:13: error: setter for 'selectedCardsIndices' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
373 | /// confirmation state is updated and the selection is cleared.
374 | /// - Throws: This method does not throw.
375 | public func confirmPattern() {
| `- note: add '@available' attribute to enclosing instance method
376 | if valid {
377 | firstPatternHash = currentHash
378 | confirmationState = .awaitingConfirmation
379 | selectedCardsIndices = []
| |- error: setter for 'selectedCardsIndices' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
380 | locked = false
381 | lastDragError = nil
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:380:13: error: setter for 'locked' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
373 | /// confirmation state is updated and the selection is cleared.
374 | /// - Throws: This method does not throw.
375 | public func confirmPattern() {
| `- note: add '@available' attribute to enclosing instance method
376 | if valid {
377 | firstPatternHash = currentHash
378 | confirmationState = .awaitingConfirmation
379 | selectedCardsIndices = []
380 | locked = false
| |- error: setter for 'locked' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
381 | lastDragError = nil
382 | }
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:381:13: error: setter for 'lastDragError' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
373 | /// confirmation state is updated and the selection is cleared.
374 | /// - Throws: This method does not throw.
375 | public func confirmPattern() {
| `- note: add '@available' attribute to enclosing instance method
376 | if valid {
377 | firstPatternHash = currentHash
:
379 | selectedCardsIndices = []
380 | locked = false
381 | lastDragError = nil
| |- error: setter for 'lastDragError' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
382 | }
383 | }
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:393:9: error: setter for 'selectedCardsIndices' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
388 | /// confirmation state, replay, and validation messages are cleared.
389 | /// - Throws: This method does not throw.
390 | public func reset() {
| `- note: add '@available' attribute to enclosing instance method
391 | cancelSimulation()
392 | cancelCredentialTask()
393 | selectedCardsIndices = []
| |- error: setter for 'selectedCardsIndices' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
394 | locked = false
395 | confirmationState = .initial
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:394:9: error: setter for 'locked' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
388 | /// confirmation state, replay, and validation messages are cleared.
389 | /// - Throws: This method does not throw.
390 | public func reset() {
| `- note: add '@available' attribute to enclosing instance method
391 | cancelSimulation()
392 | cancelCredentialTask()
393 | selectedCardsIndices = []
394 | locked = false
| |- error: setter for 'locked' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
395 | confirmationState = .initial
396 | firstPatternHash = nil
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:395:9: error: setter for 'confirmationState' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
388 | /// confirmation state, replay, and validation messages are cleared.
389 | /// - Throws: This method does not throw.
390 | public func reset() {
| `- note: add '@available' attribute to enclosing instance method
391 | cancelSimulation()
392 | cancelCredentialTask()
393 | selectedCardsIndices = []
394 | locked = false
395 | confirmationState = .initial
| |- error: setter for 'confirmationState' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
396 | firstPatternHash = nil
397 | lastDragError = nil
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:396:9: error: setter for 'firstPatternHash' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
388 | /// confirmation state, replay, and validation messages are cleared.
389 | /// - Throws: This method does not throw.
390 | public func reset() {
| `- note: add '@available' attribute to enclosing instance method
391 | cancelSimulation()
392 | cancelCredentialTask()
:
394 | locked = false
395 | confirmationState = .initial
396 | firstPatternHash = nil
| |- error: setter for 'firstPatternHash' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
397 | lastDragError = nil
398 | }
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:397:9: error: setter for 'lastDragError' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
388 | /// confirmation state, replay, and validation messages are cleared.
389 | /// - Throws: This method does not throw.
390 | public func reset() {
| `- note: add '@available' attribute to enclosing instance method
391 | cancelSimulation()
392 | cancelCredentialTask()
:
395 | confirmationState = .initial
396 | firstPatternHash = nil
397 | lastDragError = nil
| |- error: setter for 'lastDragError' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
398 | }
399 |
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:429:21: error: setter for 'confirmationState' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
416 | /// - Throws: This method does not throw. Credential creation errors are
417 | /// converted to `lastDragError`.
418 | private func handleSetPattern() {
| `- note: add '@available' attribute to enclosing instance method
419 | let pattern = selectedCardsIndices
420 |
:
427 | case .awaitingConfirmation:
428 | if legacyHashArray(pattern) == firstPatternHash {
429 | confirmationState = .confirmed
| |- error: setter for 'confirmationState' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
430 | completeSetup(with: pattern)
431 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:432:21: error: cannot pass as inout because setter for 'incorrectCount' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
416 | /// - Throws: This method does not throw. Credential creation errors are
417 | /// converted to `lastDragError`.
418 | private func handleSetPattern() {
| `- note: add '@available' attribute to enclosing instance method
419 | let pattern = selectedCardsIndices
420 |
:
430 | completeSetup(with: pattern)
431 | } else {
432 | incorrectCount += 1
| |- error: cannot pass as inout because setter for 'incorrectCount' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
433 | lastDragError = "Patterns do not match. Please try again."
434 | selectedCardsIndices = []
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:433:21: error: setter for 'lastDragError' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
416 | /// - Throws: This method does not throw. Credential creation errors are
417 | /// converted to `lastDragError`.
418 | private func handleSetPattern() {
| `- note: add '@available' attribute to enclosing instance method
419 | let pattern = selectedCardsIndices
420 |
:
431 | } else {
432 | incorrectCount += 1
433 | lastDragError = "Patterns do not match. Please try again."
| |- error: setter for 'lastDragError' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
434 | selectedCardsIndices = []
435 | locked = false
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:434:21: error: setter for 'selectedCardsIndices' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
416 | /// - Throws: This method does not throw. Credential creation errors are
417 | /// converted to `lastDragError`.
418 | private func handleSetPattern() {
| `- note: add '@available' attribute to enclosing instance method
419 | let pattern = selectedCardsIndices
420 |
:
432 | incorrectCount += 1
433 | lastDragError = "Patterns do not match. Please try again."
434 | selectedCardsIndices = []
| |- error: setter for 'selectedCardsIndices' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
435 | locked = false
436 | }
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:435:21: error: setter for 'locked' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
416 | /// - Throws: This method does not throw. Credential creation errors are
417 | /// converted to `lastDragError`.
418 | private func handleSetPattern() {
| `- note: add '@available' attribute to enclosing instance method
419 | let pattern = selectedCardsIndices
420 |
:
433 | lastDragError = "Patterns do not match. Please try again."
434 | selectedCardsIndices = []
435 | locked = false
| |- error: setter for 'locked' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
436 | }
437 | case .confirmed:
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:476:26: error: 'Task' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
470 | /// - Throws: This method does not throw. Credential creation errors are
471 | /// converted to `lastDragError`.
472 | private func startCredentialSetupTask(for pattern: [Int]) {
| `- note: add '@available' attribute to enclosing instance method
473 | cancelCredentialTask()
474 | let configuration = hashConfiguration
475 |
476 | credentialTask = Task { @MainActor [weak self] in
| |- error: 'Task' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
477 | do {
478 | let credential = try await Self.createCredentialOffMainActor(
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:476:26: error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
470 | /// - Throws: This method does not throw. Credential creation errors are
471 | /// converted to `lastDragError`.
472 | private func startCredentialSetupTask(for pattern: [Int]) {
| `- note: add '@available' attribute to enclosing instance method
473 | cancelCredentialTask()
474 | let configuration = hashConfiguration
475 |
476 | credentialTask = Task { @MainActor [weak self] in
| |- error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
477 | do {
478 | let credential = try await Self.createCredentialOffMainActor(
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:482:34: error: 'Task' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
470 | /// - Throws: This method does not throw. Credential creation errors are
471 | /// converted to `lastDragError`.
472 | private func startCredentialSetupTask(for pattern: [Int]) {
| `- note: add '@available' attribute to enclosing instance method
473 | cancelCredentialTask()
474 | let configuration = hashConfiguration
:
480 | configuration: configuration
481 | )
482 | guard let self, !Task.isCancelled else { return }
| |- error: 'Task' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
483 | credentialSetupCompletion?(credential)
484 | finishSetup()
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:482:39: error: 'isCancelled' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
470 | /// - Throws: This method does not throw. Credential creation errors are
471 | /// converted to `lastDragError`.
472 | private func startCredentialSetupTask(for pattern: [Int]) {
| `- note: add '@available' attribute to enclosing instance method
473 | cancelCredentialTask()
474 | let configuration = hashConfiguration
:
480 | configuration: configuration
481 | )
482 | guard let self, !Task.isCancelled else { return }
| |- error: 'isCancelled' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
483 | credentialSetupCompletion?(credential)
484 | finishSetup()
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:486:34: error: 'Task' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
470 | /// - Throws: This method does not throw. Credential creation errors are
471 | /// converted to `lastDragError`.
472 | private func startCredentialSetupTask(for pattern: [Int]) {
| `- note: add '@available' attribute to enclosing instance method
473 | cancelCredentialTask()
474 | let configuration = hashConfiguration
:
484 | finishSetup()
485 | } catch {
486 | guard let self, !Task.isCancelled else { return }
| |- error: 'Task' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
487 | incorrectCount += 1
488 | lastDragError = "Unable to create gesture credential."
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:486:39: error: 'isCancelled' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
470 | /// - Throws: This method does not throw. Credential creation errors are
471 | /// converted to `lastDragError`.
472 | private func startCredentialSetupTask(for pattern: [Int]) {
| `- note: add '@available' attribute to enclosing instance method
473 | cancelCredentialTask()
474 | let configuration = hashConfiguration
:
484 | finishSetup()
485 | } catch {
486 | guard let self, !Task.isCancelled else { return }
| |- error: 'isCancelled' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
487 | incorrectCount += 1
488 | lastDragError = "Unable to create gesture credential."
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:487:17: error: cannot pass as inout because setter for 'incorrectCount' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
470 | /// - Throws: This method does not throw. Credential creation errors are
471 | /// converted to `lastDragError`.
472 | private func startCredentialSetupTask(for pattern: [Int]) {
| `- note: add '@available' attribute to enclosing instance method
473 | cancelCredentialTask()
474 | let configuration = hashConfiguration
:
485 | } catch {
486 | guard let self, !Task.isCancelled else { return }
487 | incorrectCount += 1
| |- error: cannot pass as inout because setter for 'incorrectCount' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
488 | lastDragError = "Unable to create gesture credential."
489 | finishSetup()
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:488:17: error: setter for 'lastDragError' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
470 | /// - Throws: This method does not throw. Credential creation errors are
471 | /// converted to `lastDragError`.
472 | private func startCredentialSetupTask(for pattern: [Int]) {
| `- note: add '@available' attribute to enclosing instance method
473 | cancelCredentialTask()
474 | let configuration = hashConfiguration
:
486 | guard let self, !Task.isCancelled else { return }
487 | incorrectCount += 1
488 | lastDragError = "Unable to create gesture credential."
| |- error: setter for 'lastDragError' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
489 | finishSetup()
490 | }
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:506:26: error: 'Task' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
501 | /// - Throws: This method does not throw. Verification errors are converted
502 | /// to failed authentication state.
503 | private func authenticateCredential(_ pattern: [Int], credential: GestureCredentialEnvelope) {
| `- note: add '@available' attribute to enclosing instance method
504 | cancelCredentialTask()
505 |
506 | credentialTask = Task { @MainActor [weak self] in
| |- error: 'Task' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
507 | do {
508 | let success = try await Self.verifyCredentialOffMainActor(
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:506:26: error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
501 | /// - Throws: This method does not throw. Verification errors are converted
502 | /// to failed authentication state.
503 | private func authenticateCredential(_ pattern: [Int], credential: GestureCredentialEnvelope) {
| `- note: add '@available' attribute to enclosing instance method
504 | cancelCredentialTask()
505 |
506 | credentialTask = Task { @MainActor [weak self] in
| |- error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
507 | do {
508 | let success = try await Self.verifyCredentialOffMainActor(
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:512:34: error: 'Task' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
501 | /// - Throws: This method does not throw. Verification errors are converted
502 | /// to failed authentication state.
503 | private func authenticateCredential(_ pattern: [Int], credential: GestureCredentialEnvelope) {
| `- note: add '@available' attribute to enclosing instance method
504 | cancelCredentialTask()
505 |
:
510 | credential: credential
511 | )
512 | guard let self, !Task.isCancelled else { return }
| |- error: 'Task' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
513 | if success {
514 | incorrectHash = nil
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:512:39: error: 'isCancelled' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
501 | /// - Throws: This method does not throw. Verification errors are converted
502 | /// to failed authentication state.
503 | private func authenticateCredential(_ pattern: [Int], credential: GestureCredentialEnvelope) {
| `- note: add '@available' attribute to enclosing instance method
504 | cancelCredentialTask()
505 |
:
510 | credential: credential
511 | )
512 | guard let self, !Task.isCancelled else { return }
| |- error: 'isCancelled' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
513 | if success {
514 | incorrectHash = nil
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:514:21: error: setter for 'incorrectHash' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
501 | /// - Throws: This method does not throw. Verification errors are converted
502 | /// to failed authentication state.
503 | private func authenticateCredential(_ pattern: [Int], credential: GestureCredentialEnvelope) {
| `- note: add '@available' attribute to enclosing instance method
504 | cancelCredentialTask()
505 |
:
512 | guard let self, !Task.isCancelled else { return }
513 | if success {
514 | incorrectHash = nil
| |- error: setter for 'incorrectHash' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
515 | authCompletion?(true)
516 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:520:34: error: 'Task' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
501 | /// - Throws: This method does not throw. Verification errors are converted
502 | /// to failed authentication state.
503 | private func authenticateCredential(_ pattern: [Int], credential: GestureCredentialEnvelope) {
| `- note: add '@available' attribute to enclosing instance method
504 | cancelCredentialTask()
505 |
:
518 | }
519 | } catch {
520 | guard let self, !Task.isCancelled else { return }
| |- error: 'Task' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
521 | lastDragError = "Unable to verify gesture credential."
522 | failAuthentication()
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:520:39: error: 'isCancelled' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
501 | /// - Throws: This method does not throw. Verification errors are converted
502 | /// to failed authentication state.
503 | private func authenticateCredential(_ pattern: [Int], credential: GestureCredentialEnvelope) {
| `- note: add '@available' attribute to enclosing instance method
504 | cancelCredentialTask()
505 |
:
518 | }
519 | } catch {
520 | guard let self, !Task.isCancelled else { return }
| |- error: 'isCancelled' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
521 | lastDragError = "Unable to verify gesture credential."
522 | failAuthentication()
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:521:17: error: setter for 'lastDragError' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
501 | /// - Throws: This method does not throw. Verification errors are converted
502 | /// to failed authentication state.
503 | private func authenticateCredential(_ pattern: [Int], credential: GestureCredentialEnvelope) {
| `- note: add '@available' attribute to enclosing instance method
504 | cancelCredentialTask()
505 |
:
519 | } catch {
520 | guard let self, !Task.isCancelled else { return }
521 | lastDragError = "Unable to verify gesture credential."
| |- error: setter for 'lastDragError' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
522 | failAuthentication()
523 | }
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:550:13: error: setter for 'incorrectHash' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
532 | /// - Throws: This method does not throw. Migration errors are converted to
533 | /// `lastDragError` while preserving successful authentication.
534 | private func authenticateLegacyHash(_ pattern: [Int]) {
| `- note: add '@available' attribute to enclosing instance method
535 | guard let expectedHash else {
536 | failAuthentication()
:
548 |
549 | guard legacyUpgradeCompletion != nil else {
550 | incorrectHash = nil
| |- error: setter for 'incorrectHash' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
551 | authCompletion?(true)
552 | return
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:570:26: error: 'Task' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
564 | /// - Throws: This method does not throw. Migration errors are converted to
565 | /// `lastDragError` while preserving successful authentication.
566 | private func startLegacyUpgradeAuthenticationTask(for pattern: [Int]) {
| `- note: add '@available' attribute to enclosing instance method
567 | cancelCredentialTask()
568 | let configuration = hashConfiguration
569 |
570 | credentialTask = Task { @MainActor [weak self] in
| |- error: 'Task' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
571 | do {
572 | let credential = try await Self.createCredentialOffMainActor(
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:570:26: error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
564 | /// - Throws: This method does not throw. Migration errors are converted to
565 | /// `lastDragError` while preserving successful authentication.
566 | private func startLegacyUpgradeAuthenticationTask(for pattern: [Int]) {
| `- note: add '@available' attribute to enclosing instance method
567 | cancelCredentialTask()
568 | let configuration = hashConfiguration
569 |
570 | credentialTask = Task { @MainActor [weak self] in
| |- error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
571 | do {
572 | let credential = try await Self.createCredentialOffMainActor(
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:576:34: error: 'Task' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
564 | /// - Throws: This method does not throw. Migration errors are converted to
565 | /// `lastDragError` while preserving successful authentication.
566 | private func startLegacyUpgradeAuthenticationTask(for pattern: [Int]) {
| `- note: add '@available' attribute to enclosing instance method
567 | cancelCredentialTask()
568 | let configuration = hashConfiguration
:
574 | configuration: configuration
575 | )
576 | guard let self, !Task.isCancelled else { return }
| |- error: 'Task' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
577 | legacyUpgradeCompletion?(credential)
578 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:576:39: error: 'isCancelled' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
564 | /// - Throws: This method does not throw. Migration errors are converted to
565 | /// `lastDragError` while preserving successful authentication.
566 | private func startLegacyUpgradeAuthenticationTask(for pattern: [Int]) {
| `- note: add '@available' attribute to enclosing instance method
567 | cancelCredentialTask()
568 | let configuration = hashConfiguration
:
574 | configuration: configuration
575 | )
576 | guard let self, !Task.isCancelled else { return }
| |- error: 'isCancelled' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
577 | legacyUpgradeCompletion?(credential)
578 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:579:34: error: 'Task' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
564 | /// - Throws: This method does not throw. Migration errors are converted to
565 | /// `lastDragError` while preserving successful authentication.
566 | private func startLegacyUpgradeAuthenticationTask(for pattern: [Int]) {
| `- note: add '@available' attribute to enclosing instance method
567 | cancelCredentialTask()
568 | let configuration = hashConfiguration
:
577 | legacyUpgradeCompletion?(credential)
578 | } catch {
579 | guard let self, !Task.isCancelled else { return }
| |- error: 'Task' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
580 | lastDragError = "Gesture matched, but credential migration failed."
581 | }
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:579:39: error: 'isCancelled' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
564 | /// - Throws: This method does not throw. Migration errors are converted to
565 | /// `lastDragError` while preserving successful authentication.
566 | private func startLegacyUpgradeAuthenticationTask(for pattern: [Int]) {
| `- note: add '@available' attribute to enclosing instance method
567 | cancelCredentialTask()
568 | let configuration = hashConfiguration
:
577 | legacyUpgradeCompletion?(credential)
578 | } catch {
579 | guard let self, !Task.isCancelled else { return }
| |- error: 'isCancelled' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
580 | lastDragError = "Gesture matched, but credential migration failed."
581 | }
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:580:17: error: setter for 'lastDragError' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
564 | /// - Throws: This method does not throw. Migration errors are converted to
565 | /// `lastDragError` while preserving successful authentication.
566 | private func startLegacyUpgradeAuthenticationTask(for pattern: [Int]) {
| `- note: add '@available' attribute to enclosing instance method
567 | cancelCredentialTask()
568 | let configuration = hashConfiguration
:
578 | } catch {
579 | guard let self, !Task.isCancelled else { return }
580 | lastDragError = "Gesture matched, but credential migration failed."
| |- error: setter for 'lastDragError' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
581 | }
582 |
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:583:30: error: 'Task' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
564 | /// - Throws: This method does not throw. Migration errors are converted to
565 | /// `lastDragError` while preserving successful authentication.
566 | private func startLegacyUpgradeAuthenticationTask(for pattern: [Int]) {
| `- note: add '@available' attribute to enclosing instance method
567 | cancelCredentialTask()
568 | let configuration = hashConfiguration
:
581 | }
582 |
583 | guard let self, !Task.isCancelled else { return }
| |- error: 'Task' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
584 | incorrectHash = nil
585 | authCompletion?(true)
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:583:35: error: 'isCancelled' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
564 | /// - Throws: This method does not throw. Migration errors are converted to
565 | /// `lastDragError` while preserving successful authentication.
566 | private func startLegacyUpgradeAuthenticationTask(for pattern: [Int]) {
| `- note: add '@available' attribute to enclosing instance method
567 | cancelCredentialTask()
568 | let configuration = hashConfiguration
:
581 | }
582 |
583 | guard let self, !Task.isCancelled else { return }
| |- error: 'isCancelled' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
584 | incorrectHash = nil
585 | authCompletion?(true)
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:584:13: error: setter for 'incorrectHash' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
564 | /// - Throws: This method does not throw. Migration errors are converted to
565 | /// `lastDragError` while preserving successful authentication.
566 | private func startLegacyUpgradeAuthenticationTask(for pattern: [Int]) {
| `- note: add '@available' attribute to enclosing instance method
567 | cancelCredentialTask()
568 | let configuration = hashConfiguration
:
582 |
583 | guard let self, !Task.isCancelled else { return }
584 | incorrectHash = nil
| |- error: setter for 'incorrectHash' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
585 | authCompletion?(true)
586 | }
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:595:9: error: setter for 'selectedCardsIndices' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
592 | /// first pattern hash, then unlocks input.
593 | /// - Throws: This method does not throw.
594 | private func finishSetup() {
| `- note: add '@available' attribute to enclosing instance method
595 | selectedCardsIndices = []
| |- error: setter for 'selectedCardsIndices' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
596 | firstPatternHash = nil
597 | locked = false
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:596:9: error: setter for 'firstPatternHash' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
592 | /// first pattern hash, then unlocks input.
593 | /// - Throws: This method does not throw.
594 | private func finishSetup() {
| `- note: add '@available' attribute to enclosing instance method
595 | selectedCardsIndices = []
596 | firstPatternHash = nil
| |- error: setter for 'firstPatternHash' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
597 | locked = false
598 | }
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:597:9: error: setter for 'locked' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
592 | /// first pattern hash, then unlocks input.
593 | /// - Throws: This method does not throw.
594 | private func finishSetup() {
| `- note: add '@available' attribute to enclosing instance method
595 | selectedCardsIndices = []
596 | firstPatternHash = nil
597 | locked = false
| |- error: setter for 'locked' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
598 | }
599 |
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:606:25: error: 'cancel()' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
603 | /// finish in the background, but cancelled tasks do not update view state.
604 | /// - Throws: This method does not throw.
605 | private func cancelCredentialTask() {
| `- note: add '@available' attribute to enclosing instance method
606 | credentialTask?.cancel()
| |- error: 'cancel()' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
607 | credentialTask = nil
608 | }
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:621:19: error: 'Task' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
615 | /// - Returns: A new credential envelope with a fresh random salt.
616 | /// - Throws: Any error thrown by `GestureCredentialHasher.createCredential`.
617 | private nonisolated static func createCredentialOffMainActor(
| `- note: add '@available' attribute to enclosing static method
618 | for pattern: [Int],
619 | configuration: GestureHashConfiguration
620 | ) async throws -> GestureCredentialEnvelope {
621 | try await Task.detached(priority: .userInitiated) {
| |- error: 'Task' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
622 | try GestureCredentialHasher.createCredential(
623 | for: pattern,
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:621:24: error: 'detached(name:priority:operation:)' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
615 | /// - Returns: A new credential envelope with a fresh random salt.
616 | /// - Throws: Any error thrown by `GestureCredentialHasher.createCredential`.
617 | private nonisolated static func createCredentialOffMainActor(
| `- note: add '@available' attribute to enclosing static method
618 | for pattern: [Int],
619 | configuration: GestureHashConfiguration
620 | ) async throws -> GestureCredentialEnvelope {
621 | try await Task.detached(priority: .userInitiated) {
| |- error: 'detached(name:priority:operation:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
622 | try GestureCredentialHasher.createCredential(
623 | for: pattern,
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:626:11: error: 'value' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
615 | /// - Returns: A new credential envelope with a fresh random salt.
616 | /// - Throws: Any error thrown by `GestureCredentialHasher.createCredential`.
617 | private nonisolated static func createCredentialOffMainActor(
| `- note: add '@available' attribute to enclosing static method
618 | for pattern: [Int],
619 | configuration: GestureHashConfiguration
:
624 | configuration: configuration
625 | )
626 | }.value
| |- error: 'value' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
627 | }
628 |
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:641:19: error: 'Task' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
635 | /// otherwise, `false`.
636 | /// - Throws: Any error thrown by `GestureCredentialHasher.verify`.
637 | private nonisolated static func verifyCredentialOffMainActor(
| `- note: add '@available' attribute to enclosing static method
638 | vertices: [Int],
639 | credential: GestureCredentialEnvelope
640 | ) async throws -> Bool {
641 | try await Task.detached(priority: .userInitiated) {
| |- error: 'Task' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
642 | try GestureCredentialHasher.verify(vertices: vertices, against: credential)
643 | }.value
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:641:24: error: 'detached(name:priority:operation:)' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
635 | /// otherwise, `false`.
636 | /// - Throws: Any error thrown by `GestureCredentialHasher.verify`.
637 | private nonisolated static func verifyCredentialOffMainActor(
| `- note: add '@available' attribute to enclosing static method
638 | vertices: [Int],
639 | credential: GestureCredentialEnvelope
640 | ) async throws -> Bool {
641 | try await Task.detached(priority: .userInitiated) {
| |- error: 'detached(name:priority:operation:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
642 | try GestureCredentialHasher.verify(vertices: vertices, against: credential)
643 | }.value
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:643:11: error: 'value' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
635 | /// otherwise, `false`.
636 | /// - Throws: Any error thrown by `GestureCredentialHasher.verify`.
637 | private nonisolated static func verifyCredentialOffMainActor(
| `- note: add '@available' attribute to enclosing static method
638 | vertices: [Int],
639 | credential: GestureCredentialEnvelope
:
641 | try await Task.detached(priority: .userInitiated) {
642 | try GestureCredentialHasher.verify(vertices: vertices, against: credential)
643 | }.value
| |- error: 'value' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
644 | }
645 |
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:653:9: error: setter for 'incorrectHash' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
650 | /// `false`.
651 | /// - Throws: This method does not throw.
652 | private func failAuthentication() {
| `- note: add '@available' attribute to enclosing instance method
653 | incorrectHash = true
| |- error: setter for 'incorrectHash' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
654 | selectedCardsIndices = []
655 | withAnimation(.easeInOut(duration: 0.3)) {
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:654:9: error: setter for 'selectedCardsIndices' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
650 | /// `false`.
651 | /// - Throws: This method does not throw.
652 | private func failAuthentication() {
| `- note: add '@available' attribute to enclosing instance method
653 | incorrectHash = true
654 | selectedCardsIndices = []
| |- error: setter for 'selectedCardsIndices' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
655 | withAnimation(.easeInOut(duration: 0.3)) {
656 | incorrectCount += 1
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:655:9: error: 'withAnimation' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
650 | /// `false`.
651 | /// - Throws: This method does not throw.
652 | private func failAuthentication() {
| `- note: add '@available' attribute to enclosing instance method
653 | incorrectHash = true
654 | selectedCardsIndices = []
655 | withAnimation(.easeInOut(duration: 0.3)) {
| |- error: 'withAnimation' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
656 | incorrectCount += 1
657 | }
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:655:24: error: 'easeInOut(duration:)' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
650 | /// `false`.
651 | /// - Throws: This method does not throw.
652 | private func failAuthentication() {
| `- note: add '@available' attribute to enclosing instance method
653 | incorrectHash = true
654 | selectedCardsIndices = []
655 | withAnimation(.easeInOut(duration: 0.3)) {
| |- error: 'easeInOut(duration:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
656 | incorrectCount += 1
657 | }
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/GridAuthenticatorViewModel.swift:656:13: error: cannot pass as inout because setter for 'incorrectCount' is only available in macOS 10.15 or newer
14 | /// SwiftUI-observed state and animation state.
15 | @MainActor
16 | public class GridAuthenticatorViewModel: ObservableObject {
| `- note: add '@available' attribute to enclosing class
17 | /// The ordered 3x3 grid indices selected during the current gesture.
18 | @Published public var selectedCardsIndices: [Int] = []
:
650 | /// `false`.
651 | /// - Throws: This method does not throw.
652 | private func failAuthentication() {
| `- note: add '@available' attribute to enclosing instance method
653 | incorrectHash = true
654 | selectedCardsIndices = []
655 | withAnimation(.easeInOut(duration: 0.3)) {
656 | incorrectCount += 1
| |- error: cannot pass as inout because setter for 'incorrectCount' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
657 | }
658 | authCompletion?(false)
[9/11] Compiling PatternAuthentication LegacyPatternHash.swift
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/Credentials/LegacyPatternHash.swift:25:16: error: 'SHA256' is only available in macOS 10.15 or newer
21 | /// - Returns: A lowercase hexadecimal SHA-256 hash matching v0 package output.
22 | /// - Throws: This function does not throw.
23 | func legacyHashArray(_ array: [Int]) -> String {
| `- note: add '@available' attribute to enclosing global function
24 | let data = array.withUnsafeBytes { Data($0) }
25 | let hash = SHA256.hash(data: data)
| |- error: 'SHA256' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
26 | return hash.compactMap { String(format: "%02x", $0) }.joined()
27 | }
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/Credentials/LegacyPatternHash.swift:25:23: error: 'hash(data:)' is only available in macOS 10.15 or newer
21 | /// - Returns: A lowercase hexadecimal SHA-256 hash matching v0 package output.
22 | /// - Throws: This function does not throw.
23 | func legacyHashArray(_ array: [Int]) -> String {
| `- note: add '@available' attribute to enclosing global function
24 | let data = array.withUnsafeBytes { Data($0) }
25 | let hash = SHA256.hash(data: data)
| |- error: 'hash(data:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
26 | return hash.compactMap { String(format: "%02x", $0) }.joined()
27 | }
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/Credentials/LegacyPatternHash.swift:26:17: error: conformance of 'SHA256Digest' to 'Sequence' is only available in macOS 10.15 or newer
21 | /// - Returns: A lowercase hexadecimal SHA-256 hash matching v0 package output.
22 | /// - Throws: This function does not throw.
23 | func legacyHashArray(_ array: [Int]) -> String {
| `- note: add '@available' attribute to enclosing global function
24 | let data = array.withUnsafeBytes { Data($0) }
25 | let hash = SHA256.hash(data: data)
26 | return hash.compactMap { String(format: "%02x", $0) }.joined()
| |- error: conformance of 'SHA256Digest' to 'Sequence' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
27 | }
28 |
[10/11] Compiling PatternAuthentication ParticleSystem.swift
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/Animations/ParticleSystem.swift:35:43: error: 'now' is only available in macOS 12 or newer
11 |
12 | /// A single path particle rendered in grid-local coordinates.
13 | public struct Particle: Hashable, Sendable {
| `- note: add '@available' attribute to enclosing struct
14 | /// The particle's x-coordinate in the grid canvas coordinate space.
15 | public let x: Double
:
30 | /// - Returns: A particle ready to render.
31 | /// - Throws: This initializer does not throw.
32 | public init(
| `- note: add '@available' attribute to enclosing initializer
33 | x: Double,
34 | y: Double,
35 | creationDate: TimeInterval = Date.now.timeIntervalSinceReferenceDate
| `- error: 'now' is only available in macOS 12 or newer
36 | ) {
37 | self.x = x
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/Animations/ParticleSystem.swift:50:24: error: 'Image' is only available in macOS 10.15 or newer
46 | /// and is mutated by SwiftUI gesture callbacks and timeline rendering.
47 | @MainActor
48 | public final class ParticleSystem {
| `- note: add '@available' attribute to enclosing class
49 | /// The spark image loaded from the SwiftPM resource bundle.
50 | public let image = Image("spark", bundle: Bundle.module)
| `- error: 'Image' is only available in macOS 10.15 or newer
51 |
52 | /// The rendered point-size of each particle.
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/Animations/ParticleSystem.swift:50:24: error: 'init(_:bundle:)' is only available in macOS 10.15 or newer
46 | /// and is mutated by SwiftUI gesture callbacks and timeline rendering.
47 | @MainActor
48 | public final class ParticleSystem {
| `- note: add '@available' attribute to enclosing class
49 | /// The spark image loaded from the SwiftPM resource bundle.
50 | public let image = Image("spark", bundle: Bundle.module)
| `- error: 'init(_:bundle:)' is only available in macOS 10.15 or newer
51 |
52 | /// The rendered point-size of each particle.
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/Animations/ParticleSystem.swift:115:33: error: 'now' is only available in macOS 12 or newer
46 | /// and is mutated by SwiftUI gesture callbacks and timeline rendering.
47 | @MainActor
48 | public final class ParticleSystem {
| `- note: add '@available' attribute to enclosing class
49 | /// The spark image loaded from the SwiftPM resource bundle.
50 | public let image = Image("spark", bundle: Bundle.module)
:
112 | /// trail instead of a dotted path.
113 | /// - Throws: This method does not throw.
114 | public func addParticle(at location: CGPoint) {
| `- note: add '@available' attribute to enclosing instance method
115 | let creationDate = Date.now.timeIntervalSinceReferenceDate
| |- error: 'now' is only available in macOS 12 or newer
| `- note: add 'if #available' version check
116 | defer { lastEmissionPoint = location }
117 |
[11/11] Compiling PatternAuthentication Shake.swift
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/Animations/Shake.swift:46:46: error: 'ProjectionTransform' is only available in macOS 10.15 or newer
9 |
10 | /// A horizontal shake effect used to signal failed gesture attempts.
11 | public struct Shake: GeometryEffect {
| `- note: add '@available' attribute to enclosing struct
12 | /// The maximum horizontal translation in points.
13 | public var amount: CGFloat = 10
:
44 | /// - Returns: A projection transform that translates the view on the x-axis.
45 | /// - Throws: This method does not throw.
46 | public func effectValue(size: CGSize) -> ProjectionTransform {
| | `- error: 'ProjectionTransform' is only available in macOS 10.15 or newer
| `- note: add '@available' attribute to enclosing instance method
47 | ProjectionTransform(CGAffineTransform(translationX:
48 | amount * sin(animatableData * .pi * CGFloat(shakesPerUnit)),
/Users/admin/builder/spi-builder-workspace/Sources/PatternAuthentication/Animations/Shake.swift:47:9: error: 'ProjectionTransform' is only available in macOS 10.15 or newer
9 |
10 | /// A horizontal shake effect used to signal failed gesture attempts.
11 | public struct Shake: GeometryEffect {
| `- note: add '@available' attribute to enclosing struct
12 | /// The maximum horizontal translation in points.
13 | public var amount: CGFloat = 10
:
44 | /// - Returns: A projection transform that translates the view on the x-axis.
45 | /// - Throws: This method does not throw.
46 | public func effectValue(size: CGSize) -> ProjectionTransform {
| `- note: add '@available' attribute to enclosing instance method
47 | ProjectionTransform(CGAffineTransform(translationX:
| |- error: 'ProjectionTransform' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
48 | amount * sin(animatableData * .pi * CGFloat(shakesPerUnit)),
49 | y: 0))
BUILD FAILURE 6.3 macosSpm