Build Information
Failed to build IosIapStore, reference v1.0.1 (102915), with Swift 6.3 for macOS (SPM) on 15 Apr 2026 10:32:19 UTC.
Build Command
env DEVELOPER_DIR=/Applications/Xcode-26.4.0.app xcrun swift build --arch arm64Build Log
28 | private var purchaseButton: some View {
29 | Button(action: {
:
47 | }
48 |
49 | private var recurringText: some View {
| `- note: add '@available' attribute to enclosing property
50 | Text(getRecurringDescriptionText())
51 | .font(.footnote)
| |- error: 'footnote' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
52 | .foregroundColor(.primary)
53 | }
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/PurchaseButtonView.swift:52:14: error: 'foregroundColor' is only available in macOS 10.15 or newer
25 | }
26 |
27 | extension PurchaseButtonView {
| `- note: add '@available' attribute to enclosing extension
28 | private var purchaseButton: some View {
29 | Button(action: {
:
47 | }
48 |
49 | private var recurringText: some View {
| `- note: add '@available' attribute to enclosing property
50 | Text(getRecurringDescriptionText())
51 | .font(.footnote)
52 | .foregroundColor(.primary)
| |- error: 'foregroundColor' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
53 | }
54 | }
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/PurchaseButtonView.swift:52:31: error: 'primary' is only available in macOS 10.15 or newer
25 | }
26 |
27 | extension PurchaseButtonView {
| `- note: add '@available' attribute to enclosing extension
28 | private var purchaseButton: some View {
29 | Button(action: {
:
47 | }
48 |
49 | private var recurringText: some View {
| `- note: add '@available' attribute to enclosing property
50 | Text(getRecurringDescriptionText())
51 | .font(.footnote)
52 | .foregroundColor(.primary)
| |- error: 'primary' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
53 | }
54 | }
[9/15] Compiling IosIapStore RootStoreView.swift
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:12:6: error: 'State' is only available in macOS 10.15 or newer
8 | import SwiftUI
9 |
10 | public struct RootStoreView: View {
| `- note: add '@available' attribute to enclosing struct
11 | private let apiKey: String
12 | @State private var showToast: Bool = false
| `- error: 'State' is only available in macOS 10.15 or newer
13 | @StateObject private var store: RootStore
14 |
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:13:6: error: 'StateObject' is only available in macOS 11.0 or newer
8 | import SwiftUI
9 |
10 | public struct RootStoreView: View {
| `- note: add '@available' attribute to enclosing struct
11 | private let apiKey: String
12 | @State private var showToast: Bool = false
13 | @StateObject private var store: RootStore
| `- error: 'StateObject' is only available in macOS 11.0 or newer
14 |
15 | public init(
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:37:27: error: 'View' is only available in macOS 10.15 or newer
8 | import SwiftUI
9 |
10 | public struct RootStoreView: View {
| `- note: add '@available' attribute to enclosing struct
11 | private let apiKey: String
12 | @State private var showToast: Bool = false
:
35 | }
36 |
37 | public var body: some View {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add '@available' attribute to enclosing property
38 | ZStack {
39 | paymentContent
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:51:34: error: 'View' is only available in macOS 10.15 or newer
48 | }
49 |
50 | extension RootStoreView {
| `- note: add '@available' attribute to enclosing extension
51 | private var errorToast: some View {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add '@available' attribute to enclosing property
52 | Group {
53 | if showToast, let message = store.errorMessage {
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:65:38: error: 'View' is only available in macOS 10.15 or newer
48 | }
49 |
50 | extension RootStoreView {
| `- note: add '@available' attribute to enclosing extension
51 | private var errorToast: some View {
52 | Group {
:
63 | }
64 |
65 | private var paymentContent: some View {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add '@available' attribute to enclosing property
66 | VStack {
67 | StoreContent()
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:20:18: error: 'StateObject' is only available in macOS 11.0 or newer
8 | import SwiftUI
9 |
10 | public struct RootStoreView: View {
| `- note: add '@available' attribute to enclosing struct
11 | private let apiKey: String
12 | @State private var showToast: Bool = false
13 | @StateObject private var store: RootStore
14 |
15 | public init(
| `- note: add '@available' attribute to enclosing initializer
16 | userId: String,
17 | apiKey: String
18 | ) {
19 | self.apiKey = apiKey
20 | _store = StateObject(wrappedValue: RootStore(userId: userId, apiKey: apiKey))
| |- error: 'StateObject' is only available in macOS 11.0 or newer
| `- note: add 'if #available' version check
21 |
22 | }
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:24:9: error: 'withAnimation' is only available in macOS 10.15 or newer
8 | import SwiftUI
9 |
10 | public struct RootStoreView: View {
| `- note: add '@available' attribute to enclosing struct
11 | private let apiKey: String
12 | @State private var showToast: Bool = false
:
21 |
22 | }
23 | private func showToastForLimitedTime() {
| `- note: add '@available' attribute to enclosing instance method
24 | withAnimation {
| |- error: 'withAnimation' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
25 | showToast = true
26 | }
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:25:13: error: setter for 'showToast' is only available in macOS 10.15 or newer
8 | import SwiftUI
9 |
10 | public struct RootStoreView: View {
| `- note: add '@available' attribute to enclosing struct
11 | private let apiKey: String
12 | @State private var showToast: Bool = false
:
21 |
22 | }
23 | private func showToastForLimitedTime() {
| `- note: add '@available' attribute to enclosing instance method
24 | withAnimation {
25 | showToast = true
| |- error: setter for 'showToast' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
26 | }
27 |
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:28:9: error: 'Task' is only available in macOS 10.15 or newer
8 | import SwiftUI
9 |
10 | public struct RootStoreView: View {
| `- note: add '@available' attribute to enclosing struct
11 | private let apiKey: String
12 | @State private var showToast: Bool = false
:
21 |
22 | }
23 | private func showToastForLimitedTime() {
| `- note: add '@available' attribute to enclosing instance method
24 | withAnimation {
25 | showToast = true
26 | }
27 |
28 | Task {
| |- error: 'Task' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
29 | try await Task.sleep(nanoseconds: 3 * 1_000_000_000) // 3 seconds
30 | withAnimation {
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:28:9: error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
8 | import SwiftUI
9 |
10 | public struct RootStoreView: View {
| `- note: add '@available' attribute to enclosing struct
11 | private let apiKey: String
12 | @State private var showToast: Bool = false
:
21 |
22 | }
23 | private func showToastForLimitedTime() {
| `- note: add '@available' attribute to enclosing instance method
24 | withAnimation {
25 | showToast = true
26 | }
27 |
28 | Task {
| |- error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
29 | try await Task.sleep(nanoseconds: 3 * 1_000_000_000) // 3 seconds
30 | withAnimation {
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:29:23: error: 'Task' is only available in macOS 10.15 or newer
8 | import SwiftUI
9 |
10 | public struct RootStoreView: View {
| `- note: add '@available' attribute to enclosing struct
11 | private let apiKey: String
12 | @State private var showToast: Bool = false
:
21 |
22 | }
23 | private func showToastForLimitedTime() {
| `- note: add '@available' attribute to enclosing instance method
24 | withAnimation {
25 | showToast = true
:
27 |
28 | Task {
29 | try await Task.sleep(nanoseconds: 3 * 1_000_000_000) // 3 seconds
| |- error: 'Task' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
30 | withAnimation {
31 | showToast = false
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:29:28: error: 'sleep(nanoseconds:)' is only available in macOS 10.15 or newer
8 | import SwiftUI
9 |
10 | public struct RootStoreView: View {
| `- note: add '@available' attribute to enclosing struct
11 | private let apiKey: String
12 | @State private var showToast: Bool = false
:
21 |
22 | }
23 | private func showToastForLimitedTime() {
| `- note: add '@available' attribute to enclosing instance method
24 | withAnimation {
25 | showToast = true
:
27 |
28 | Task {
29 | try await Task.sleep(nanoseconds: 3 * 1_000_000_000) // 3 seconds
| |- error: 'sleep(nanoseconds:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
30 | withAnimation {
31 | showToast = false
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:30:13: error: 'withAnimation' is only available in macOS 10.15 or newer
8 | import SwiftUI
9 |
10 | public struct RootStoreView: View {
| `- note: add '@available' attribute to enclosing struct
11 | private let apiKey: String
12 | @State private var showToast: Bool = false
:
21 |
22 | }
23 | private func showToastForLimitedTime() {
| `- note: add '@available' attribute to enclosing instance method
24 | withAnimation {
25 | showToast = true
:
28 | Task {
29 | try await Task.sleep(nanoseconds: 3 * 1_000_000_000) // 3 seconds
30 | withAnimation {
| |- error: 'withAnimation' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
31 | showToast = false
32 | }
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:31:17: error: setter for 'showToast' is only available in macOS 10.15 or newer
8 | import SwiftUI
9 |
10 | public struct RootStoreView: View {
| `- note: add '@available' attribute to enclosing struct
11 | private let apiKey: String
12 | @State private var showToast: Bool = false
:
21 |
22 | }
23 | private func showToastForLimitedTime() {
| `- note: add '@available' attribute to enclosing instance method
24 | withAnimation {
25 | showToast = true
:
29 | try await Task.sleep(nanoseconds: 3 * 1_000_000_000) // 3 seconds
30 | withAnimation {
31 | showToast = false
| |- error: setter for 'showToast' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
32 | }
33 | store.errorMessage = nil
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:33:13: error: setter for 'errorMessage' is only available in macOS 10.15 or newer
8 | import SwiftUI
9 |
10 | public struct RootStoreView: View {
| `- note: add '@available' attribute to enclosing struct
11 | private let apiKey: String
12 | @State private var showToast: Bool = false
:
21 |
22 | }
23 | private func showToastForLimitedTime() {
| `- note: add '@available' attribute to enclosing instance method
24 | withAnimation {
25 | showToast = true
:
31 | showToast = false
32 | }
33 | store.errorMessage = nil
| |- error: setter for 'errorMessage' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
34 | }
35 | }
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:38:9: error: 'ZStack' is only available in macOS 10.15 or newer
8 | import SwiftUI
9 |
10 | public struct RootStoreView: View {
| `- note: add '@available' attribute to enclosing struct
11 | private let apiKey: String
12 | @State private var showToast: Bool = false
:
35 | }
36 |
37 | public var body: some View {
| `- note: add '@available' attribute to enclosing property
38 | ZStack {
| |- error: 'ZStack' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
39 | paymentContent
40 | errorToast
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:42:10: error: 'onChange(of:perform:)' is only available in macOS 11.0 or newer
8 | import SwiftUI
9 |
10 | public struct RootStoreView: View {
| `- note: add '@available' attribute to enclosing struct
11 | private let apiKey: String
12 | @State private var showToast: Bool = false
:
35 | }
36 |
37 | public var body: some View {
| `- note: add '@available' attribute to enclosing property
38 | ZStack {
39 | paymentContent
40 | errorToast
41 | }
42 | .onChange(of: store.errorMessage) { newValue in
| |- error: 'onChange(of:perform:)' is only available in macOS 11.0 or newer
| `- note: add 'if #available' version check
43 | if newValue != nil {
44 | showToastForLimitedTime()
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:52:9: error: conformance of 'Group<Content>' to 'View' is only available in macOS 10.15 or newer
48 | }
49 |
50 | extension RootStoreView {
| `- note: add '@available' attribute to enclosing extension
51 | private var errorToast: some View {
| `- note: add '@available' attribute to enclosing property
52 | Group {
| |- error: conformance of 'Group<Content>' to 'View' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
53 | if showToast, let message = store.errorMessage {
54 | VStack {
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:52:9: error: 'Group' is only available in macOS 10.15 or newer
48 | }
49 |
50 | extension RootStoreView {
| `- note: add '@available' attribute to enclosing extension
51 | private var errorToast: some View {
| `- note: add '@available' attribute to enclosing property
52 | Group {
| |- error: 'Group' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
53 | if showToast, let message = store.errorMessage {
54 | VStack {
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:52:9: error: 'init(content:)' is only available in macOS 10.15 or newer
48 | }
49 |
50 | extension RootStoreView {
| `- note: add '@available' attribute to enclosing extension
51 | private var errorToast: some View {
| `- note: add '@available' attribute to enclosing property
52 | Group {
| |- error: 'init(content:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
53 | if showToast, let message = store.errorMessage {
54 | VStack {
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:54:17: error: 'VStack' is only available in macOS 10.15 or newer
48 | }
49 |
50 | extension RootStoreView {
| `- note: add '@available' attribute to enclosing extension
51 | private var errorToast: some View {
| `- note: add '@available' attribute to enclosing property
52 | Group {
53 | if showToast, let message = store.errorMessage {
54 | VStack {
| |- error: 'VStack' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
55 | Spacer()
56 | ToastView(message: message)
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:55:21: error: conformance of 'Spacer' to 'View' is only available in macOS 10.15 or newer
48 | }
49 |
50 | extension RootStoreView {
| `- note: add '@available' attribute to enclosing extension
51 | private var errorToast: some View {
| `- note: add '@available' attribute to enclosing property
52 | Group {
53 | if showToast, let message = store.errorMessage {
54 | VStack {
55 | Spacer()
| |- error: conformance of 'Spacer' to 'View' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
56 | ToastView(message: message)
57 | .padding(.bottom, 50)
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:55:21: error: 'Spacer' is only available in macOS 10.15 or newer
48 | }
49 |
50 | extension RootStoreView {
| `- note: add '@available' attribute to enclosing extension
51 | private var errorToast: some View {
| `- note: add '@available' attribute to enclosing property
52 | Group {
53 | if showToast, let message = store.errorMessage {
54 | VStack {
55 | Spacer()
| |- error: 'Spacer' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
56 | ToastView(message: message)
57 | .padding(.bottom, 50)
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:57:26: error: 'padding' is only available in macOS 10.15 or newer
48 | }
49 |
50 | extension RootStoreView {
| `- note: add '@available' attribute to enclosing extension
51 | private var errorToast: some View {
| `- note: add '@available' attribute to enclosing property
52 | Group {
53 | if showToast, let message = store.errorMessage {
:
55 | Spacer()
56 | ToastView(message: message)
57 | .padding(.bottom, 50)
| |- error: 'padding' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
58 | .transition(.move(edge: .bottom).combined(with: .opacity))
59 | .zIndex(1)
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:58:26: error: 'transition' is only available in macOS 14.0 or newer
48 | }
49 |
50 | extension RootStoreView {
| `- note: add '@available' attribute to enclosing extension
51 | private var errorToast: some View {
| `- note: add '@available' attribute to enclosing property
52 | Group {
53 | if showToast, let message = store.errorMessage {
:
56 | ToastView(message: message)
57 | .padding(.bottom, 50)
58 | .transition(.move(edge: .bottom).combined(with: .opacity))
| |- error: 'transition' is only available in macOS 14.0 or newer
| `- note: add 'if #available' version check
59 | .zIndex(1)
60 | }
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:58:38: error: 'move(edge:)' is only available in macOS 14.0 or newer
48 | }
49 |
50 | extension RootStoreView {
| `- note: add '@available' attribute to enclosing extension
51 | private var errorToast: some View {
| `- note: add '@available' attribute to enclosing property
52 | Group {
53 | if showToast, let message = store.errorMessage {
:
56 | ToastView(message: message)
57 | .padding(.bottom, 50)
58 | .transition(.move(edge: .bottom).combined(with: .opacity))
| |- error: 'move(edge:)' is only available in macOS 14.0 or newer
| `- note: add 'if #available' version check
59 | .zIndex(1)
60 | }
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:58:58: error: 'combined(with:)' is only available in macOS 14.0 or newer
48 | }
49 |
50 | extension RootStoreView {
| `- note: add '@available' attribute to enclosing extension
51 | private var errorToast: some View {
| `- note: add '@available' attribute to enclosing property
52 | Group {
53 | if showToast, let message = store.errorMessage {
:
56 | ToastView(message: message)
57 | .padding(.bottom, 50)
58 | .transition(.move(edge: .bottom).combined(with: .opacity))
| |- error: 'combined(with:)' is only available in macOS 14.0 or newer
| `- note: add 'if #available' version check
59 | .zIndex(1)
60 | }
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:58:74: error: 'opacity' is only available in macOS 14.0 or newer
48 | }
49 |
50 | extension RootStoreView {
| `- note: add '@available' attribute to enclosing extension
51 | private var errorToast: some View {
| `- note: add '@available' attribute to enclosing property
52 | Group {
53 | if showToast, let message = store.errorMessage {
:
56 | ToastView(message: message)
57 | .padding(.bottom, 50)
58 | .transition(.move(edge: .bottom).combined(with: .opacity))
| |- error: 'opacity' is only available in macOS 14.0 or newer
| `- note: add 'if #available' version check
59 | .zIndex(1)
60 | }
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:59:26: error: 'zIndex' is only available in macOS 10.15 or newer
48 | }
49 |
50 | extension RootStoreView {
| `- note: add '@available' attribute to enclosing extension
51 | private var errorToast: some View {
| `- note: add '@available' attribute to enclosing property
52 | Group {
53 | if showToast, let message = store.errorMessage {
:
57 | .padding(.bottom, 50)
58 | .transition(.move(edge: .bottom).combined(with: .opacity))
59 | .zIndex(1)
| |- error: 'zIndex' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
60 | }
61 | }
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:54:24: error: conformance of 'Spacer' to 'View' is only available in macOS 10.15 or newer
48 | }
49 |
50 | extension RootStoreView {
| `- note: add '@available' attribute to enclosing extension
51 | private var errorToast: some View {
| `- note: add '@available' attribute to enclosing property
52 | Group {
53 | if showToast, let message = store.errorMessage {
54 | VStack {
| |- error: conformance of 'Spacer' to 'View' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
55 | Spacer()
56 | ToastView(message: message)
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:53:60: error: 'buildIf' is only available in macOS 10.15 or newer
48 | }
49 |
50 | extension RootStoreView {
| `- note: add '@available' attribute to enclosing extension
51 | private var errorToast: some View {
| `- note: add '@available' attribute to enclosing property
52 | Group {
53 | if showToast, let message = store.errorMessage {
| |- error: 'buildIf' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
54 | VStack {
55 | Spacer()
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:61:13: error: 'buildIf' is only available in macOS 10.15 or newer
48 | }
49 |
50 | extension RootStoreView {
| `- note: add '@available' attribute to enclosing extension
51 | private var errorToast: some View {
| `- note: add '@available' attribute to enclosing property
52 | Group {
53 | if showToast, let message = store.errorMessage {
:
59 | .zIndex(1)
60 | }
61 | }
| |- error: 'buildIf' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
62 | }
63 | }
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:52:15: error: conformance of 'Optional<Wrapped>' to 'View' is only available in macOS 10.15 or newer
48 | }
49 |
50 | extension RootStoreView {
| `- note: add '@available' attribute to enclosing extension
51 | private var errorToast: some View {
| `- note: add '@available' attribute to enclosing property
52 | Group {
| |- error: conformance of 'Optional<Wrapped>' to 'View' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
53 | if showToast, let message = store.errorMessage {
54 | VStack {
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/StoreContent.swift:11:6: error: 'init(wrappedValue:_:store:)' is only available in macOS 11.0 or newer
8 | import SwiftUI
9 |
10 | struct StoreContent: View {
| `- note: add '@available' attribute to enclosing struct
11 | @AppStorage("subscribed") private var subscribed: Bool = false
| `- error: 'init(wrappedValue:_:store:)' is only available in macOS 11.0 or newer
12 | @EnvironmentObject var store: RootStore
13 |
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:66:9: error: 'VStack' is only available in macOS 10.15 or newer
48 | }
49 |
50 | extension RootStoreView {
| `- note: add '@available' attribute to enclosing extension
51 | private var errorToast: some View {
52 | Group {
:
63 | }
64 |
65 | private var paymentContent: some View {
| `- note: add '@available' attribute to enclosing property
66 | VStack {
| |- error: 'VStack' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
67 | StoreContent()
68 | if store.isLoading {
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:66:16: error: conformance of 'Text' to 'View' is only available in macOS 10.15 or newer
48 | }
49 |
50 | extension RootStoreView {
| `- note: add '@available' attribute to enclosing extension
51 | private var errorToast: some View {
52 | Group {
:
63 | }
64 |
65 | private var paymentContent: some View {
| `- note: add '@available' attribute to enclosing property
66 | VStack {
| |- error: conformance of 'Text' to 'View' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
67 | StoreContent()
68 | if store.isLoading {
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:66:16: error: conformance of 'Text' to 'View' is only available in macOS 10.15 or newer
48 | }
49 |
50 | extension RootStoreView {
| `- note: add '@available' attribute to enclosing extension
51 | private var errorToast: some View {
52 | Group {
:
63 | }
64 |
65 | private var paymentContent: some View {
| `- note: add '@available' attribute to enclosing property
66 | VStack {
| |- error: conformance of 'Text' to 'View' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
67 | StoreContent()
68 | if store.isLoading {
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:66:16: error: conformance of 'Text' to 'View' is only available in macOS 10.15 or newer
48 | }
49 |
50 | extension RootStoreView {
| `- note: add '@available' attribute to enclosing extension
51 | private var errorToast: some View {
52 | Group {
:
63 | }
64 |
65 | private var paymentContent: some View {
| `- note: add '@available' attribute to enclosing property
66 | VStack {
| |- error: conformance of 'Text' to 'View' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
67 | StoreContent()
68 | if store.isLoading {
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:69:17: error: conformance of 'Text' to 'View' is only available in macOS 10.15 or newer
48 | }
49 |
50 | extension RootStoreView {
| `- note: add '@available' attribute to enclosing extension
51 | private var errorToast: some View {
52 | Group {
:
63 | }
64 |
65 | private var paymentContent: some View {
| `- note: add '@available' attribute to enclosing property
66 | VStack {
67 | StoreContent()
68 | if store.isLoading {
69 | ProgressView("Loading Plans...")
| |- error: conformance of 'Text' to 'View' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
70 | } else if store.availableProducts.count != 0 {
71 | ProductListView()
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:69:17: error: 'ProgressView' is only available in macOS 11.0 or newer
48 | }
49 |
50 | extension RootStoreView {
| `- note: add '@available' attribute to enclosing extension
51 | private var errorToast: some View {
52 | Group {
:
63 | }
64 |
65 | private var paymentContent: some View {
| `- note: add '@available' attribute to enclosing property
66 | VStack {
67 | StoreContent()
68 | if store.isLoading {
69 | ProgressView("Loading Plans...")
| |- error: 'ProgressView' is only available in macOS 11.0 or newer
| `- note: add 'if #available' version check
70 | } else if store.availableProducts.count != 0 {
71 | ProductListView()
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:69:17: error: 'init(_:)' is only available in macOS 11.0 or newer
48 | }
49 |
50 | extension RootStoreView {
| `- note: add '@available' attribute to enclosing extension
51 | private var errorToast: some View {
52 | Group {
:
63 | }
64 |
65 | private var paymentContent: some View {
| `- note: add '@available' attribute to enclosing property
66 | VStack {
67 | StoreContent()
68 | if store.isLoading {
69 | ProgressView("Loading Plans...")
| |- error: 'init(_:)' is only available in macOS 11.0 or newer
| `- note: add 'if #available' version check
70 | } else if store.availableProducts.count != 0 {
71 | ProductListView()
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:69:30: error: 'LocalizedStringKey' is only available in macOS 10.15 or newer
48 | }
49 |
50 | extension RootStoreView {
| `- note: add '@available' attribute to enclosing extension
51 | private var errorToast: some View {
52 | Group {
:
63 | }
64 |
65 | private var paymentContent: some View {
| `- note: add '@available' attribute to enclosing property
66 | VStack {
67 | StoreContent()
68 | if store.isLoading {
69 | ProgressView("Loading Plans...")
| |- error: 'LocalizedStringKey' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
70 | } else if store.availableProducts.count != 0 {
71 | ProductListView()
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:68:32: error: conformance of 'Text' to 'View' is only available in macOS 10.15 or newer
48 | }
49 |
50 | extension RootStoreView {
| `- note: add '@available' attribute to enclosing extension
51 | private var errorToast: some View {
52 | Group {
:
63 | }
64 |
65 | private var paymentContent: some View {
| `- note: add '@available' attribute to enclosing property
66 | VStack {
67 | StoreContent()
68 | if store.isLoading {
| |- error: conformance of 'Text' to 'View' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
69 | ProgressView("Loading Plans...")
70 | } else if store.availableProducts.count != 0 {
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:68:32: error: 'buildEither(first:)' is only available in macOS 10.15 or newer
48 | }
49 |
50 | extension RootStoreView {
| `- note: add '@available' attribute to enclosing extension
51 | private var errorToast: some View {
52 | Group {
:
63 | }
64 |
65 | private var paymentContent: some View {
| `- note: add '@available' attribute to enclosing property
66 | VStack {
67 | StoreContent()
68 | if store.isLoading {
| |- error: 'buildEither(first:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
69 | ProgressView("Loading Plans...")
70 | } else if store.availableProducts.count != 0 {
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:68:32: error: 'buildEither(first:)' is only available in macOS 10.15 or newer
48 | }
49 |
50 | extension RootStoreView {
| `- note: add '@available' attribute to enclosing extension
51 | private var errorToast: some View {
52 | Group {
:
63 | }
64 |
65 | private var paymentContent: some View {
| `- note: add '@available' attribute to enclosing property
66 | VStack {
67 | StoreContent()
68 | if store.isLoading {
| |- error: 'buildEither(first:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
69 | ProgressView("Loading Plans...")
70 | } else if store.availableProducts.count != 0 {
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:70:58: error: 'buildEither(first:)' is only available in macOS 10.15 or newer
48 | }
49 |
50 | extension RootStoreView {
| `- note: add '@available' attribute to enclosing extension
51 | private var errorToast: some View {
52 | Group {
:
63 | }
64 |
65 | private var paymentContent: some View {
| `- note: add '@available' attribute to enclosing property
66 | VStack {
67 | StoreContent()
68 | if store.isLoading {
69 | ProgressView("Loading Plans...")
70 | } else if store.availableProducts.count != 0 {
| |- error: 'buildEither(first:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
71 | ProductListView()
72 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:70:58: error: 'buildEither(second:)' is only available in macOS 10.15 or newer
48 | }
49 |
50 | extension RootStoreView {
| `- note: add '@available' attribute to enclosing extension
51 | private var errorToast: some View {
52 | Group {
:
63 | }
64 |
65 | private var paymentContent: some View {
| `- note: add '@available' attribute to enclosing property
66 | VStack {
67 | StoreContent()
68 | if store.isLoading {
69 | ProgressView("Loading Plans...")
70 | } else if store.availableProducts.count != 0 {
| |- error: 'buildEither(second:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
71 | ProductListView()
72 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:73:17: error: conformance of 'Text' to 'View' is only available in macOS 10.15 or newer
48 | }
49 |
50 | extension RootStoreView {
| `- note: add '@available' attribute to enclosing extension
51 | private var errorToast: some View {
52 | Group {
:
63 | }
64 |
65 | private var paymentContent: some View {
| `- note: add '@available' attribute to enclosing property
66 | VStack {
67 | StoreContent()
:
71 | ProductListView()
72 | } else {
73 | Text("No Products available at this time!")
| |- error: conformance of 'Text' to 'View' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
74 | }
75 | PurchaseButtonView()
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:73:17: error: 'Text' is only available in macOS 10.15 or newer
48 | }
49 |
50 | extension RootStoreView {
| `- note: add '@available' attribute to enclosing extension
51 | private var errorToast: some View {
52 | Group {
:
63 | }
64 |
65 | private var paymentContent: some View {
| `- note: add '@available' attribute to enclosing property
66 | VStack {
67 | StoreContent()
:
71 | ProductListView()
72 | } else {
73 | Text("No Products available at this time!")
| |- error: 'Text' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
74 | }
75 | PurchaseButtonView()
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:72:20: error: conformance of 'Text' to 'View' is only available in macOS 10.15 or newer
48 | }
49 |
50 | extension RootStoreView {
| `- note: add '@available' attribute to enclosing extension
51 | private var errorToast: some View {
52 | Group {
:
63 | }
64 |
65 | private var paymentContent: some View {
| `- note: add '@available' attribute to enclosing property
66 | VStack {
67 | StoreContent()
:
70 | } else if store.availableProducts.count != 0 {
71 | ProductListView()
72 | } else {
| |- error: conformance of 'Text' to 'View' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
73 | Text("No Products available at this time!")
74 | }
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:72:20: error: 'buildEither(second:)' is only available in macOS 10.15 or newer
48 | }
49 |
50 | extension RootStoreView {
| `- note: add '@available' attribute to enclosing extension
51 | private var errorToast: some View {
52 | Group {
:
63 | }
64 |
65 | private var paymentContent: some View {
| `- note: add '@available' attribute to enclosing property
66 | VStack {
67 | StoreContent()
:
70 | } else if store.availableProducts.count != 0 {
71 | ProductListView()
72 | } else {
| |- error: 'buildEither(second:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
73 | Text("No Products available at this time!")
74 | }
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:66:16: error: conformance of '_ConditionalContent<TrueContent, FalseContent>' to 'View' is only available in macOS 10.15 or newer
48 | }
49 |
50 | extension RootStoreView {
| `- note: add '@available' attribute to enclosing extension
51 | private var errorToast: some View {
52 | Group {
:
63 | }
64 |
65 | private var paymentContent: some View {
| `- note: add '@available' attribute to enclosing property
66 | VStack {
| |- error: conformance of '_ConditionalContent<TrueContent, FalseContent>' to 'View' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
67 | StoreContent()
68 | if store.isLoading {
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:77:10: error: 'environmentObject' is only available in macOS 10.15 or newer
48 | }
49 |
50 | extension RootStoreView {
| `- note: add '@available' attribute to enclosing extension
51 | private var errorToast: some View {
52 | Group {
:
63 | }
64 |
65 | private var paymentContent: some View {
| `- note: add '@available' attribute to enclosing property
66 | VStack {
67 | StoreContent()
:
75 | PurchaseButtonView()
76 | }
77 | .environmentObject(store)
| |- error: 'environmentObject' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
78 | .onAppear {
79 | Task{ @MainActor in
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:78:10: error: 'onAppear(perform:)' is only available in macOS 10.15 or newer
48 | }
49 |
50 | extension RootStoreView {
| `- note: add '@available' attribute to enclosing extension
51 | private var errorToast: some View {
52 | Group {
:
63 | }
64 |
65 | private var paymentContent: some View {
| `- note: add '@available' attribute to enclosing property
66 | VStack {
67 | StoreContent()
:
76 | }
77 | .environmentObject(store)
78 | .onAppear {
| |- error: 'onAppear(perform:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
79 | Task{ @MainActor in
80 | await store.fetchSubscriptionPlans(apiKey: apiKey)
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:79:13: error: 'Task' is only available in macOS 10.15 or newer
48 | }
49 |
50 | extension RootStoreView {
| `- note: add '@available' attribute to enclosing extension
51 | private var errorToast: some View {
52 | Group {
:
63 | }
64 |
65 | private var paymentContent: some View {
| `- note: add '@available' attribute to enclosing property
66 | VStack {
67 | StoreContent()
:
77 | .environmentObject(store)
78 | .onAppear {
79 | Task{ @MainActor in
| |- error: 'Task' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
80 | await store.fetchSubscriptionPlans(apiKey: apiKey)
81 | await store.fetchStoreProducts()
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:79:13: error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
48 | }
49 |
50 | extension RootStoreView {
| `- note: add '@available' attribute to enclosing extension
51 | private var errorToast: some View {
52 | Group {
:
63 | }
64 |
65 | private var paymentContent: some View {
| `- note: add '@available' attribute to enclosing property
66 | VStack {
67 | StoreContent()
:
77 | .environmentObject(store)
78 | .onAppear {
79 | Task{ @MainActor in
| |- error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
80 | await store.fetchSubscriptionPlans(apiKey: apiKey)
81 | await store.fetchStoreProducts()
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:85:10: error: 'padding' is only available in macOS 10.15 or newer
48 | }
49 |
50 | extension RootStoreView {
| `- note: add '@available' attribute to enclosing extension
51 | private var errorToast: some View {
52 | Group {
:
63 | }
64 |
65 | private var paymentContent: some View {
| `- note: add '@available' attribute to enclosing property
66 | VStack {
67 | StoreContent()
:
83 | }
84 | }
85 | .padding()
| |- error: 'padding' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
86 | }
87 |
[10/16] Compiling IosIapStore SKProductStore.swift
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/SKProductStore.swift:14:79: error: 'Product' is only available in macOS 12.0 or newer
9 | import Foundation
10 |
11 | struct SKProductStore {
| `- note: add '@available' attribute to enclosing struct
12 | let subscriptionPlanService = SubscriptionPlanService();
13 |
14 | func fetchProductsFromAppStore(for productIds: [String]) async throws -> [Product] {
| | `- error: 'Product' is only available in macOS 12.0 or newer
| `- note: add '@available' attribute to enclosing instance method
15 | print("fetchProductsFromAppStore = \(productIds)")
16 | if(productIds.isEmpty) {
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/SKProductStore.swift:34:35: error: 'Product' is only available in macOS 12.0 or newer
9 | import Foundation
10 |
11 | struct SKProductStore {
| `- note: add '@available' attribute to enclosing struct
12 | let subscriptionPlanService = SubscriptionPlanService();
13 |
:
32 | }
33 |
34 | func sortByPrice(_ products: [Product]) -> [Product] {
| | `- error: 'Product' is only available in macOS 12.0 or newer
| `- note: add '@available' attribute to enclosing instance method
35 | products.sorted(by: {return $0.price < $1.price})
36 | }
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/SKProductStore.swift:34:49: error: 'Product' is only available in macOS 12.0 or newer
9 | import Foundation
10 |
11 | struct SKProductStore {
| `- note: add '@available' attribute to enclosing struct
12 | let subscriptionPlanService = SubscriptionPlanService();
13 |
:
32 | }
33 |
34 | func sortByPrice(_ products: [Product]) -> [Product] {
| | `- error: 'Product' is only available in macOS 12.0 or newer
| `- note: add '@available' attribute to enclosing instance method
35 | products.sorted(by: {return $0.price < $1.price})
36 | }
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/SKProductStore.swift:77:92: error: 'Product' is only available in macOS 12.0 or newer
9 | import Foundation
10 |
11 | struct SKProductStore {
| `- note: add '@available' attribute to enclosing struct
12 | let subscriptionPlanService = SubscriptionPlanService();
13 |
:
75 | }
76 |
77 | func getSubscriptionGroupIdentifier(for transaction: Transaction, from storeProducts: [Product]) -> String? {
| | `- error: 'Product' is only available in macOS 12.0 or newer
| `- note: add '@available' attribute to enclosing instance method
78 | if let product = storeProducts.first(where: { $0.id == transaction.productID }) {
79 | return product.subscription?.subscriptionGroupID
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/SKProductStore.swift:84:38: error: 'VerificationResult' is only available in macOS 12.0 or newer
9 | import Foundation
10 |
11 | struct SKProductStore {
| `- note: add '@available' attribute to enclosing struct
12 | let subscriptionPlanService = SubscriptionPlanService();
13 |
:
82 | }
83 |
84 | func checkVerified<T> (_ result: VerificationResult<T>) throws -> T {
| | `- error: 'VerificationResult' is only available in macOS 12.0 or newer
| `- note: add '@available' attribute to enclosing instance method
85 | switch result {
86 | case .unverified:
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/SKProductStore.swift:93:71: error: 'Product' is only available in macOS 12.0 or newer
9 | import Foundation
10 |
11 | struct SKProductStore {
| `- note: add '@available' attribute to enclosing struct
12 | let subscriptionPlanService = SubscriptionPlanService();
13 |
:
91 | }
92 |
93 | func getStoreProduct(with productId: String, from storeProducts: [Product]) -> Product? {
| | `- error: 'Product' is only available in macOS 12.0 or newer
| `- note: add '@available' attribute to enclosing instance method
94 | return storeProducts.first(where: { $0.id == productId })
95 | }
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/SKProductStore.swift:93:84: error: 'Product' is only available in macOS 12.0 or newer
9 | import Foundation
10 |
11 | struct SKProductStore {
| `- note: add '@available' attribute to enclosing struct
12 | let subscriptionPlanService = SubscriptionPlanService();
13 |
:
91 | }
92 |
93 | func getStoreProduct(with productId: String, from storeProducts: [Product]) -> Product? {
| | `- error: 'Product' is only available in macOS 12.0 or newer
| `- note: add '@available' attribute to enclosing instance method
94 | return storeProducts.first(where: { $0.id == productId })
95 | }
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/SKProductStore.swift:21:46: error: 'Product' is only available in macOS 12.0 or newer
9 | import Foundation
10 |
11 | struct SKProductStore {
| `- note: add '@available' attribute to enclosing struct
12 | let subscriptionPlanService = SubscriptionPlanService();
13 |
14 | func fetchProductsFromAppStore(for productIds: [String]) async throws -> [Product] {
| `- note: add '@available' attribute to enclosing instance method
15 | print("fetchProductsFromAppStore = \(productIds)")
16 | if(productIds.isEmpty) {
:
19 | do {
20 | print("fetchProductsFromAppStore = start")
21 | let allStoreProducts = try await Product.products(for: productIds)
| |- error: 'Product' is only available in macOS 12.0 or newer
| `- note: add 'if #available' version check
22 | if allStoreProducts.count == 0 {
23 | throw StoreError.noProductsInStore
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/SKProductStore.swift:21:54: error: 'products(for:)' is only available in macOS 12.0 or newer
9 | import Foundation
10 |
11 | struct SKProductStore {
| `- note: add '@available' attribute to enclosing struct
12 | let subscriptionPlanService = SubscriptionPlanService();
13 |
14 | func fetchProductsFromAppStore(for productIds: [String]) async throws -> [Product] {
| `- note: add '@available' attribute to enclosing instance method
15 | print("fetchProductsFromAppStore = \(productIds)")
16 | if(productIds.isEmpty) {
:
19 | do {
20 | print("fetchProductsFromAppStore = start")
21 | let allStoreProducts = try await Product.products(for: productIds)
| |- error: 'products(for:)' is only available in macOS 12.0 or newer
| `- note: add 'if #available' version check
22 | if allStoreProducts.count == 0 {
23 | throw StoreError.noProductsInStore
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/SKProductStore.swift:62:36: error: 'price' is only available in macOS 12.0 or newer
9 | import Foundation
10 |
11 | struct SKProductStore {
| `- note: add '@available' attribute to enclosing struct
12 | let subscriptionPlanService = SubscriptionPlanService();
13 |
:
46 | }
47 |
48 | func mapTransactionToDetails(for transaction: Transaction, with userId: String) -> TransactionDetails {
| `- note: add '@available' attribute to enclosing instance method
49 |
50 | return TransactionDetails(
:
60 | originalPurchaseDate: transaction.originalPurchaseDate.timeIntervalSince1970,
61 | originalTransactionId: transaction.originalID,
62 | price: transaction.price ?? Decimal(0),
| |- error: 'price' is only available in macOS 12.0 or newer
| `- note: add 'if #available' version check
63 | productId: transaction.productID,
64 | purchaseDate: transaction.purchaseDate.timeIntervalSince1970,
error: emit-module command failed with exit code 1 (use -v to see invocation)
[11/16] Compiling IosIapStore SubscriptionPlan.swift
[12/16] Compiling IosIapStore TransactionDetails.swift
[13/16] Emitting module IosIapStore
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:15:34: error: 'Transaction' is only available in macOS 12.0 or newer
13 | }
14 |
15 | typealias Transaction = StoreKit.Transaction
| | `- error: 'Transaction' is only available in macOS 12.0 or newer
| `- note: add '@available' attribute to enclosing type alias
16 | typealias RenewalInfo = StoreKit.Product.SubscriptionInfo.RenewalInfo
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:16:34: error: 'Product' is only available in macOS 12.0 or newer
14 |
15 | typealias Transaction = StoreKit.Transaction
16 | typealias RenewalInfo = StoreKit.Product.SubscriptionInfo.RenewalInfo
| | `- error: 'Product' is only available in macOS 12.0 or newer
| `- note: add '@available' attribute to enclosing type alias
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:17:35: error: 'Product' is only available in macOS 12.0 or newer
15 | typealias Transaction = StoreKit.Transaction
16 | typealias RenewalInfo = StoreKit.Product.SubscriptionInfo.RenewalInfo
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
| | `- error: 'Product' is only available in macOS 12.0 or newer
| `- note: add '@available' attribute to enclosing type alias
18 |
19 | class RootStore: ObservableObject {
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:20:6: error: 'init(wrappedValue:_:store:)' is only available in macOS 11.0 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
| `- error: 'init(wrappedValue:_:store:)' is only available in macOS 11.0 or newer
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
22 | @Published var isLoading = true
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:20:6: error: 'AppStorage' is only available in macOS 11.0 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
| `- error: 'AppStorage' is only available in macOS 11.0 or newer
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
22 | @Published var isLoading = true
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:21:6: error: 'Published' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
| `- error: 'Published' is only available in macOS 10.15 or newer
22 | @Published var isLoading = true
23 | @Published var errorMessage: String?
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:22:6: error: 'Published' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
22 | @Published var isLoading = true
| `- error: 'Published' is only available in macOS 10.15 or newer
23 | @Published var errorMessage: String?
24 | @Published private(set) var storeProducts: [Product] = []
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:23:6: error: 'Published' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
22 | @Published var isLoading = true
23 | @Published var errorMessage: String?
| `- error: 'Published' is only available in macOS 10.15 or newer
24 | @Published private(set) var storeProducts: [Product] = []
25 | @Published var selectedProduct: SubscriptionPlan?
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:24:49: error: 'Product' is only available in macOS 12.0 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
22 | @Published var isLoading = true
23 | @Published var errorMessage: String?
24 | @Published private(set) var storeProducts: [Product] = []
| `- error: 'Product' is only available in macOS 12.0 or newer
25 | @Published var selectedProduct: SubscriptionPlan?
26 | @Published private(set) var purchasedSubscriptions: [Product] = []
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:24:6: error: 'Published' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
22 | @Published var isLoading = true
23 | @Published var errorMessage: String?
24 | @Published private(set) var storeProducts: [Product] = []
| `- error: 'Published' is only available in macOS 10.15 or newer
25 | @Published var selectedProduct: SubscriptionPlan?
26 | @Published private(set) var purchasedSubscriptions: [Product] = []
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:25:6: error: 'Published' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
23 | @Published var errorMessage: String?
24 | @Published private(set) var storeProducts: [Product] = []
25 | @Published var selectedProduct: SubscriptionPlan?
| `- error: 'Published' is only available in macOS 10.15 or newer
26 | @Published private(set) var purchasedSubscriptions: [Product] = []
27 | @Published private(set) var availableProducts: [SubscriptionPlan] = []
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:26:58: error: 'Product' is only available in macOS 12.0 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
24 | @Published private(set) var storeProducts: [Product] = []
25 | @Published var selectedProduct: SubscriptionPlan?
26 | @Published private(set) var purchasedSubscriptions: [Product] = []
| `- error: 'Product' is only available in macOS 12.0 or newer
27 | @Published private(set) var availableProducts: [SubscriptionPlan] = []
28 | @Published private(set) var productIds: [String] = []
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:26:6: error: 'Published' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
24 | @Published private(set) var storeProducts: [Product] = []
25 | @Published var selectedProduct: SubscriptionPlan?
26 | @Published private(set) var purchasedSubscriptions: [Product] = []
| `- error: 'Published' is only available in macOS 10.15 or newer
27 | @Published private(set) var availableProducts: [SubscriptionPlan] = []
28 | @Published private(set) var productIds: [String] = []
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:27:6: error: 'Published' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
25 | @Published var selectedProduct: SubscriptionPlan?
26 | @Published private(set) var purchasedSubscriptions: [Product] = []
27 | @Published private(set) var availableProducts: [SubscriptionPlan] = []
| `- error: 'Published' is only available in macOS 10.15 or newer
28 | @Published private(set) var productIds: [String] = []
29 | @Published private(set) var subscriptionGroupStatus: RenewalState?
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:28:6: error: 'Published' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
26 | @Published private(set) var purchasedSubscriptions: [Product] = []
27 | @Published private(set) var availableProducts: [SubscriptionPlan] = []
28 | @Published private(set) var productIds: [String] = []
| `- error: 'Published' is only available in macOS 10.15 or newer
29 | @Published private(set) var subscriptionGroupStatus: RenewalState?
30 |
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:29:6: error: 'Published' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
27 | @Published private(set) var availableProducts: [SubscriptionPlan] = []
28 | @Published private(set) var productIds: [String] = []
29 | @Published private(set) var subscriptionGroupStatus: RenewalState?
| `- error: 'Published' is only available in macOS 10.15 or newer
30 |
31 | var updateListenerTask: Task<Void, Error>? = nil
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:31:29: error: 'Task' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
29 | @Published private(set) var subscriptionGroupStatus: RenewalState?
30 |
31 | var updateListenerTask: Task<Void, Error>? = nil
| `- error: 'Task' is only available in macOS 10.15 or newer
32 |
33 | let sk2Store = SKProductStore()
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:191:37: error: 'Task' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
189 | }
190 |
191 | func listenForTransactions() -> Task<Void, Error> {
| | `- error: 'Task' is only available in macOS 10.15 or newer
| `- note: add '@available' attribute to enclosing instance method
192 | print("listenForTransactions")
193 | return Task.detached {
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:19:18: error: 'ObservableObject' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| | `- error: 'ObservableObject' is only available in macOS 10.15 or newer
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/SKProductStore.swift:14:79: error: 'Product' is only available in macOS 12.0 or newer
9 | import Foundation
10 |
11 | struct SKProductStore {
| `- note: add '@available' attribute to enclosing struct
12 | let subscriptionPlanService = SubscriptionPlanService();
13 |
14 | func fetchProductsFromAppStore(for productIds: [String]) async throws -> [Product] {
| | `- error: 'Product' is only available in macOS 12.0 or newer
| `- note: add '@available' attribute to enclosing instance method
15 | print("fetchProductsFromAppStore = \(productIds)")
16 | if(productIds.isEmpty) {
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/SKProductStore.swift:34:35: error: 'Product' is only available in macOS 12.0 or newer
9 | import Foundation
10 |
11 | struct SKProductStore {
| `- note: add '@available' attribute to enclosing struct
12 | let subscriptionPlanService = SubscriptionPlanService();
13 |
:
32 | }
33 |
34 | func sortByPrice(_ products: [Product]) -> [Product] {
| | `- error: 'Product' is only available in macOS 12.0 or newer
| `- note: add '@available' attribute to enclosing instance method
35 | products.sorted(by: {return $0.price < $1.price})
36 | }
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/SKProductStore.swift:34:49: error: 'Product' is only available in macOS 12.0 or newer
9 | import Foundation
10 |
11 | struct SKProductStore {
| `- note: add '@available' attribute to enclosing struct
12 | let subscriptionPlanService = SubscriptionPlanService();
13 |
:
32 | }
33 |
34 | func sortByPrice(_ products: [Product]) -> [Product] {
| | `- error: 'Product' is only available in macOS 12.0 or newer
| `- note: add '@available' attribute to enclosing instance method
35 | products.sorted(by: {return $0.price < $1.price})
36 | }
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/SKProductStore.swift:77:92: error: 'Product' is only available in macOS 12.0 or newer
9 | import Foundation
10 |
11 | struct SKProductStore {
| `- note: add '@available' attribute to enclosing struct
12 | let subscriptionPlanService = SubscriptionPlanService();
13 |
:
75 | }
76 |
77 | func getSubscriptionGroupIdentifier(for transaction: Transaction, from storeProducts: [Product]) -> String? {
| | `- error: 'Product' is only available in macOS 12.0 or newer
| `- note: add '@available' attribute to enclosing instance method
78 | if let product = storeProducts.first(where: { $0.id == transaction.productID }) {
79 | return product.subscription?.subscriptionGroupID
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/SKProductStore.swift:84:38: error: 'VerificationResult' is only available in macOS 12.0 or newer
9 | import Foundation
10 |
11 | struct SKProductStore {
| `- note: add '@available' attribute to enclosing struct
12 | let subscriptionPlanService = SubscriptionPlanService();
13 |
:
82 | }
83 |
84 | func checkVerified<T> (_ result: VerificationResult<T>) throws -> T {
| | `- error: 'VerificationResult' is only available in macOS 12.0 or newer
| `- note: add '@available' attribute to enclosing instance method
85 | switch result {
86 | case .unverified:
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/SKProductStore.swift:93:71: error: 'Product' is only available in macOS 12.0 or newer
9 | import Foundation
10 |
11 | struct SKProductStore {
| `- note: add '@available' attribute to enclosing struct
12 | let subscriptionPlanService = SubscriptionPlanService();
13 |
:
91 | }
92 |
93 | func getStoreProduct(with productId: String, from storeProducts: [Product]) -> Product? {
| | `- error: 'Product' is only available in macOS 12.0 or newer
| `- note: add '@available' attribute to enclosing instance method
94 | return storeProducts.first(where: { $0.id == productId })
95 | }
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/SKProductStore.swift:93:84: error: 'Product' is only available in macOS 12.0 or newer
9 | import Foundation
10 |
11 | struct SKProductStore {
| `- note: add '@available' attribute to enclosing struct
12 | let subscriptionPlanService = SubscriptionPlanService();
13 |
:
91 | }
92 |
93 | func getStoreProduct(with productId: String, from storeProducts: [Product]) -> Product? {
| | `- error: 'Product' is only available in macOS 12.0 or newer
| `- note: add '@available' attribute to enclosing instance method
94 | return storeProducts.first(where: { $0.id == productId })
95 | }
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/ProductListItemView.swift:11:6: error: 'EnvironmentObject' is only available in macOS 10.15 or newer
8 | import SwiftUI
9 |
10 | struct ProductListItemView: View {
| `- note: add '@available' attribute to enclosing struct
11 | @EnvironmentObject var store: RootStore
| `- error: 'EnvironmentObject' is only available in macOS 10.15 or newer
12 |
13 | var product: SubscriptionPlan
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/ProductListItemView.swift:21:20: error: 'View' is only available in macOS 10.15 or newer
8 | import SwiftUI
9 |
10 | struct ProductListItemView: View {
| `- note: add '@available' attribute to enclosing struct
11 | @EnvironmentObject var store: RootStore
12 |
:
19 | }
20 |
21 | var body: some View {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add '@available' attribute to enclosing property
22 | HStack{
23 | VStack(alignment: .leading, spacing: 10) {
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/ProductListItemView.swift:69:35: error: 'View' is only available in macOS 10.15 or newer
66 | }
67 |
68 | extension ProductListItemView {
| `- note: add '@available' attribute to enclosing extension
69 | private var radioButton: some View {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add '@available' attribute to enclosing property
70 | ZStack {
71 | Circle()
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/ProductListView.swift:11:6: error: 'EnvironmentObject' is only available in macOS 10.15 or newer
8 | import SwiftUI
9 |
10 | struct ProductListView: View {
| `- note: add '@available' attribute to enclosing struct
11 | @EnvironmentObject var store: RootStore
| `- error: 'EnvironmentObject' is only available in macOS 10.15 or newer
12 | var body: some View {
13 | ScrollView(.vertical, showsIndicators: false){
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/ProductListView.swift:12:20: error: 'View' is only available in macOS 10.15 or newer
8 | import SwiftUI
9 |
10 | struct ProductListView: View {
| `- note: add '@available' attribute to enclosing struct
11 | @EnvironmentObject var store: RootStore
12 | var body: some View {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add '@available' attribute to enclosing property
13 | ScrollView(.vertical, showsIndicators: false){
14 | VStack(spacing: 20) {
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/PurchaseButtonView.swift:11:6: error: 'EnvironmentObject' is only available in macOS 10.15 or newer
8 | import SwiftUI
9 |
10 | struct PurchaseButtonView: View {
| `- note: add '@available' attribute to enclosing struct
11 | @EnvironmentObject var store: RootStore
| `- error: 'EnvironmentObject' is only available in macOS 10.15 or newer
12 |
13 | func getRecurringDescriptionText() -> String {
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/PurchaseButtonView.swift:19:20: error: 'View' is only available in macOS 10.15 or newer
8 | import SwiftUI
9 |
10 | struct PurchaseButtonView: View {
| `- note: add '@available' attribute to enclosing struct
11 | @EnvironmentObject var store: RootStore
12 |
:
17 | return ""
18 | }
19 | var body: some View {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add '@available' attribute to enclosing property
20 | VStack(spacing: 8) {
21 | recurringText
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/PurchaseButtonView.swift:28:38: error: 'View' is only available in macOS 10.15 or newer
25 | }
26 |
27 | extension PurchaseButtonView {
| `- note: add '@available' attribute to enclosing extension
28 | private var purchaseButton: some View {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add '@available' attribute to enclosing property
29 | Button(action: {
30 | if let selectedPlan = store.selectedProduct {
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/PurchaseButtonView.swift:49:37: error: 'View' is only available in macOS 10.15 or newer
25 | }
26 |
27 | extension PurchaseButtonView {
| `- note: add '@available' attribute to enclosing extension
28 | private var purchaseButton: some View {
29 | Button(action: {
:
47 | }
48 |
49 | private var recurringText: some View {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add '@available' attribute to enclosing property
50 | Text(getRecurringDescriptionText())
51 | .font(.footnote)
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:12:6: error: 'State' is only available in macOS 10.15 or newer
8 | import SwiftUI
9 |
10 | public struct RootStoreView: View {
| `- note: add '@available' attribute to enclosing struct
11 | private let apiKey: String
12 | @State private var showToast: Bool = false
| `- error: 'State' is only available in macOS 10.15 or newer
13 | @StateObject private var store: RootStore
14 |
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:13:6: error: 'StateObject' is only available in macOS 11.0 or newer
8 | import SwiftUI
9 |
10 | public struct RootStoreView: View {
| `- note: add '@available' attribute to enclosing struct
11 | private let apiKey: String
12 | @State private var showToast: Bool = false
13 | @StateObject private var store: RootStore
| `- error: 'StateObject' is only available in macOS 11.0 or newer
14 |
15 | public init(
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:37:27: error: 'View' is only available in macOS 10.15 or newer
8 | import SwiftUI
9 |
10 | public struct RootStoreView: View {
| `- note: add '@available' attribute to enclosing struct
11 | private let apiKey: String
12 | @State private var showToast: Bool = false
:
35 | }
36 |
37 | public var body: some View {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add '@available' attribute to enclosing property
38 | ZStack {
39 | paymentContent
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:51:34: error: 'View' is only available in macOS 10.15 or newer
48 | }
49 |
50 | extension RootStoreView {
| `- note: add '@available' attribute to enclosing extension
51 | private var errorToast: some View {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add '@available' attribute to enclosing property
52 | Group {
53 | if showToast, let message = store.errorMessage {
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:65:38: error: 'View' is only available in macOS 10.15 or newer
48 | }
49 |
50 | extension RootStoreView {
| `- note: add '@available' attribute to enclosing extension
51 | private var errorToast: some View {
52 | Group {
:
63 | }
64 |
65 | private var paymentContent: some View {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add '@available' attribute to enclosing property
66 | VStack {
67 | StoreContent()
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/StoreContent.swift:11:6: error: 'init(wrappedValue:_:store:)' is only available in macOS 11.0 or newer
8 | import SwiftUI
9 |
10 | struct StoreContent: View {
| `- note: add '@available' attribute to enclosing struct
11 | @AppStorage("subscribed") private var subscribed: Bool = false
| `- error: 'init(wrappedValue:_:store:)' is only available in macOS 11.0 or newer
12 | @EnvironmentObject var store: RootStore
13 |
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/StoreContent.swift:11:6: error: 'AppStorage' is only available in macOS 11.0 or newer
8 | import SwiftUI
9 |
10 | struct StoreContent: View {
| `- note: add '@available' attribute to enclosing struct
11 | @AppStorage("subscribed") private var subscribed: Bool = false
| `- error: 'AppStorage' is only available in macOS 11.0 or newer
12 | @EnvironmentObject var store: RootStore
13 |
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/StoreContent.swift:12:6: error: 'EnvironmentObject' is only available in macOS 10.15 or newer
8 | import SwiftUI
9 |
10 | struct StoreContent: View {
| `- note: add '@available' attribute to enclosing struct
11 | @AppStorage("subscribed") private var subscribed: Bool = false
12 | @EnvironmentObject var store: RootStore
| `- error: 'EnvironmentObject' is only available in macOS 10.15 or newer
13 |
14 | var body: some View {
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/StoreContent.swift:14:20: error: 'View' is only available in macOS 10.15 or newer
8 | import SwiftUI
9 |
10 | struct StoreContent: View {
| `- note: add '@available' attribute to enclosing struct
11 | @AppStorage("subscribed") private var subscribed: Bool = false
12 | @EnvironmentObject var store: RootStore
13 |
14 | var body: some View {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add '@available' attribute to enclosing property
15 | ZStack {
16 | VStack {
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/ToastView.swift:13:20: error: 'View' is only available in macOS 10.15 or newer
8 | import SwiftUI
9 |
10 | struct ToastView: View {
| `- note: add '@available' attribute to enclosing struct
11 | let message: String
12 |
13 | var body: some View {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add '@available' attribute to enclosing property
14 | Text(message)
15 | .foregroundColor(.white)
[14/16] Compiling IosIapStore SubscriptionPlanService.swift
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Services/SubscriptionPlanService.swift:16:57: error: 'data(for:delegate:)' is only available in macOS 12.0 or newer
8 | import Foundation
9 |
10 | struct SubscriptionPlanService {
| `- note: add '@available' attribute to enclosing struct
11 | func loadSubscriptionPlans(apiKey: String) async throws -> [SubscriptionPlan] {
| `- note: add '@available' attribute to enclosing instance method
12 | do {
13 | let url = URL(string: "https://05052a84-35de-4a87-ae64-2b32a9188b68.mock.pstmn.io/productDetails")!
14 | var request = URLRequest(url: url)
15 | request.setValue(apiKey, forHTTPHeaderField: "Authorization")
16 | let (data, _) = try await URLSession.shared.data(for: request)
| |- error: 'data(for:delegate:)' is only available in macOS 12.0 or newer
| `- note: add 'if #available' version check
17 | let plans = try JSONDecoder().decode([SubscriptionPlan].self, from: data)
18 | return plans
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Services/SubscriptionPlanService.swift:45:51: error: 'data(for:delegate:)' is only available in macOS 12.0 or newer
8 | import Foundation
9 |
10 | struct SubscriptionPlanService {
| `- note: add '@available' attribute to enclosing struct
11 | func loadSubscriptionPlans(apiKey: String) async throws -> [SubscriptionPlan] {
12 | do {
:
22 | }
23 |
24 | func sendVerifiedCheck(transaction: TransactionDetails, apiKey: String) async throws {
| `- note: add '@available' attribute to enclosing instance method
25 | let urlString = "https://05052a84-35de-4a87-ae64-2b32a9188b68.mock.pstmn.io/transaction"
26 | let url = URL(string: urlString)
:
43 | // Set the HTTP body to the encoded JSON
44 | request.httpBody = jsonData
45 | let (data, _) = try await session.data(for: request);
| |- error: 'data(for:delegate:)' is only available in macOS 12.0 or newer
| `- note: add 'if #available' version check
46 | print("Post API response = \(data)")
47 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:15:34: error: 'Transaction' is only available in macOS 12.0 or newer
13 | }
14 |
15 | typealias Transaction = StoreKit.Transaction
| | `- error: 'Transaction' is only available in macOS 12.0 or newer
| `- note: add '@available' attribute to enclosing type alias
16 | typealias RenewalInfo = StoreKit.Product.SubscriptionInfo.RenewalInfo
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:16:34: error: 'Product' is only available in macOS 12.0 or newer
14 |
15 | typealias Transaction = StoreKit.Transaction
16 | typealias RenewalInfo = StoreKit.Product.SubscriptionInfo.RenewalInfo
| | `- error: 'Product' is only available in macOS 12.0 or newer
| `- note: add '@available' attribute to enclosing type alias
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:17:35: error: 'Product' is only available in macOS 12.0 or newer
15 | typealias Transaction = StoreKit.Transaction
16 | typealias RenewalInfo = StoreKit.Product.SubscriptionInfo.RenewalInfo
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
| | `- error: 'Product' is only available in macOS 12.0 or newer
| `- note: add '@available' attribute to enclosing type alias
18 |
19 | class RootStore: ObservableObject {
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:20:6: error: 'init(wrappedValue:_:store:)' is only available in macOS 11.0 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
| `- error: 'init(wrappedValue:_:store:)' is only available in macOS 11.0 or newer
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
22 | @Published var isLoading = true
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:20:6: error: 'AppStorage' is only available in macOS 11.0 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
| `- error: 'AppStorage' is only available in macOS 11.0 or newer
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
22 | @Published var isLoading = true
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:21:6: error: 'Published' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
| `- error: 'Published' is only available in macOS 10.15 or newer
22 | @Published var isLoading = true
23 | @Published var errorMessage: String?
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:22:6: error: 'Published' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
22 | @Published var isLoading = true
| `- error: 'Published' is only available in macOS 10.15 or newer
23 | @Published var errorMessage: String?
24 | @Published private(set) var storeProducts: [Product] = []
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:23:6: error: 'Published' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
22 | @Published var isLoading = true
23 | @Published var errorMessage: String?
| `- error: 'Published' is only available in macOS 10.15 or newer
24 | @Published private(set) var storeProducts: [Product] = []
25 | @Published var selectedProduct: SubscriptionPlan?
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:24:49: error: 'Product' is only available in macOS 12.0 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
22 | @Published var isLoading = true
23 | @Published var errorMessage: String?
24 | @Published private(set) var storeProducts: [Product] = []
| `- error: 'Product' is only available in macOS 12.0 or newer
25 | @Published var selectedProduct: SubscriptionPlan?
26 | @Published private(set) var purchasedSubscriptions: [Product] = []
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:24:6: error: 'Published' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
22 | @Published var isLoading = true
23 | @Published var errorMessage: String?
24 | @Published private(set) var storeProducts: [Product] = []
| `- error: 'Published' is only available in macOS 10.15 or newer
25 | @Published var selectedProduct: SubscriptionPlan?
26 | @Published private(set) var purchasedSubscriptions: [Product] = []
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:25:6: error: 'Published' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
23 | @Published var errorMessage: String?
24 | @Published private(set) var storeProducts: [Product] = []
25 | @Published var selectedProduct: SubscriptionPlan?
| `- error: 'Published' is only available in macOS 10.15 or newer
26 | @Published private(set) var purchasedSubscriptions: [Product] = []
27 | @Published private(set) var availableProducts: [SubscriptionPlan] = []
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:26:58: error: 'Product' is only available in macOS 12.0 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
24 | @Published private(set) var storeProducts: [Product] = []
25 | @Published var selectedProduct: SubscriptionPlan?
26 | @Published private(set) var purchasedSubscriptions: [Product] = []
| `- error: 'Product' is only available in macOS 12.0 or newer
27 | @Published private(set) var availableProducts: [SubscriptionPlan] = []
28 | @Published private(set) var productIds: [String] = []
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:26:6: error: 'Published' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
24 | @Published private(set) var storeProducts: [Product] = []
25 | @Published var selectedProduct: SubscriptionPlan?
26 | @Published private(set) var purchasedSubscriptions: [Product] = []
| `- error: 'Published' is only available in macOS 10.15 or newer
27 | @Published private(set) var availableProducts: [SubscriptionPlan] = []
28 | @Published private(set) var productIds: [String] = []
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:27:6: error: 'Published' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
25 | @Published var selectedProduct: SubscriptionPlan?
26 | @Published private(set) var purchasedSubscriptions: [Product] = []
27 | @Published private(set) var availableProducts: [SubscriptionPlan] = []
| `- error: 'Published' is only available in macOS 10.15 or newer
28 | @Published private(set) var productIds: [String] = []
29 | @Published private(set) var subscriptionGroupStatus: RenewalState?
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:28:6: error: 'Published' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
26 | @Published private(set) var purchasedSubscriptions: [Product] = []
27 | @Published private(set) var availableProducts: [SubscriptionPlan] = []
28 | @Published private(set) var productIds: [String] = []
| `- error: 'Published' is only available in macOS 10.15 or newer
29 | @Published private(set) var subscriptionGroupStatus: RenewalState?
30 |
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:29:6: error: 'Published' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
27 | @Published private(set) var availableProducts: [SubscriptionPlan] = []
28 | @Published private(set) var productIds: [String] = []
29 | @Published private(set) var subscriptionGroupStatus: RenewalState?
| `- error: 'Published' is only available in macOS 10.15 or newer
30 |
31 | var updateListenerTask: Task<Void, Error>? = nil
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:31:29: error: 'Task' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
29 | @Published private(set) var subscriptionGroupStatus: RenewalState?
30 |
31 | var updateListenerTask: Task<Void, Error>? = nil
| `- error: 'Task' is only available in macOS 10.15 or newer
32 |
33 | let sk2Store = SKProductStore()
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:191:37: error: 'Task' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
189 | }
190 |
191 | func listenForTransactions() -> Task<Void, Error> {
| | `- error: 'Task' is only available in macOS 10.15 or newer
| `- note: add '@available' attribute to enclosing instance method
192 | print("listenForTransactions")
193 | return Task.detached {
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:19:18: error: 'ObservableObject' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| | `- error: 'ObservableObject' is only available in macOS 10.15 or newer
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
<unknown>:0: error: cannot convert value of type 'any KeyPath<RootStore, [SubscriptionPlan]> & Sendable' to expected argument type 'ReferenceWritableKeyPath<RootStore, [SubscriptionPlan]>'
<unknown>:0: error: cannot convert value of type 'any KeyPath<RootStore, Bool> & Sendable' to expected argument type 'ReferenceWritableKeyPath<RootStore, Bool>'
<unknown>:0: error: cannot convert value of type 'any KeyPath<RootStore, String?> & Sendable' to expected argument type 'ReferenceWritableKeyPath<RootStore, String?>'
<unknown>:0: error: cannot convert value of type 'any KeyPath<RootStore, [Product]> & Sendable' to expected argument type 'ReferenceWritableKeyPath<RootStore, [Product]>'
<unknown>:0: error: cannot convert value of type 'any KeyPath<RootStore, SubscriptionPlan?> & Sendable' to expected argument type 'ReferenceWritableKeyPath<RootStore, SubscriptionPlan?>'
<unknown>:0: error: cannot convert value of type 'any KeyPath<RootStore, [Product]> & Sendable' to expected argument type 'ReferenceWritableKeyPath<RootStore, [Product]>'
<unknown>:0: error: cannot convert value of type 'any KeyPath<RootStore, [SubscriptionPlan]> & Sendable' to expected argument type 'ReferenceWritableKeyPath<RootStore, [SubscriptionPlan]>'
<unknown>:0: error: cannot convert value of type 'any KeyPath<RootStore, [String]> & Sendable' to expected argument type 'ReferenceWritableKeyPath<RootStore, [String]>'
<unknown>:0: error: cannot convert value of type 'any KeyPath<RootStore, RenewalState?> & Sendable' (aka 'any KeyPath<RootStore, Optional<Product.SubscriptionInfo.RenewalState>> & Sendable') to expected argument type 'ReferenceWritableKeyPath<RootStore, RenewalState?>' (aka 'ReferenceWritableKeyPath<RootStore, Optional<Product.SubscriptionInfo.RenewalState>>')
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:45:29: error: 'cancel()' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
43 | }
44 | deinit {
45 | updateListenerTask?.cancel()
| |- error: 'cancel()' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
46 | }
47 |
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:50:9: error: setter for 'availableProducts' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
47 |
48 | @MainActor
49 | private func updateAvaiableProducts() {
| `- note: add '@available' attribute to enclosing instance method
50 | availableProducts = apiSubscriptionPlans.filter { plan in
| |- error: setter for 'availableProducts' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
51 | storeProducts.contains { $0.id == plan.productId }
52 | }
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:56:9: error: setter for 'productIds' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
53 | }
54 | @MainActor
55 | private func updateProductIds() {
| `- note: add '@available' attribute to enclosing instance method
56 | productIds = apiSubscriptionPlans.map { $0.productId };
| |- error: setter for 'productIds' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
57 | }
58 |
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:63:13: error: setter for 'apiSubscriptionPlans' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
59 |
60 | @MainActor
61 | func fetchSubscriptionPlans(apiKey: String) async {
| `- note: add '@available' attribute to enclosing instance method
62 | do {
63 | self.apiSubscriptionPlans = try await subscriptionPlanService.loadSubscriptionPlans(apiKey: apiKey)
| |- error: setter for 'apiSubscriptionPlans' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
64 | print("fetchSubscriptionPlans = \(apiSubscriptionPlans.count)")
65 | self.updateProductIds();
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:67:13: error: setter for 'errorMessage' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
59 |
60 | @MainActor
61 | func fetchSubscriptionPlans(apiKey: String) async {
| `- note: add '@available' attribute to enclosing instance method
62 | do {
63 | self.apiSubscriptionPlans = try await subscriptionPlanService.loadSubscriptionPlans(apiKey: apiKey)
:
65 | self.updateProductIds();
66 | } catch {
67 | self.errorMessage = "Failed to load subscription plans: \(error.localizedDescription)"
| |- error: setter for 'errorMessage' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
68 | self.isLoading = false
69 | print("fetchSubscriptionPlans - \(error)")
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:68:13: error: setter for 'isLoading' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
59 |
60 | @MainActor
61 | func fetchSubscriptionPlans(apiKey: String) async {
| `- note: add '@available' attribute to enclosing instance method
62 | do {
63 | self.apiSubscriptionPlans = try await subscriptionPlanService.loadSubscriptionPlans(apiKey: apiKey)
:
66 | } catch {
67 | self.errorMessage = "Failed to load subscription plans: \(error.localizedDescription)"
68 | self.isLoading = false
| |- error: setter for 'isLoading' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
69 | print("fetchSubscriptionPlans - \(error)")
70 | }
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:76:13: error: setter for 'errorMessage' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
72 |
73 | @MainActor
74 | func fetchStoreProducts() async {
| `- note: add '@available' attribute to enclosing instance method
75 | if(productIds.isEmpty) {
76 | errorMessage = "No Products Ids available."
| |- error: setter for 'errorMessage' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
77 | self.isLoading = false
78 | return
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:77:13: error: setter for 'isLoading' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
72 |
73 | @MainActor
74 | func fetchStoreProducts() async {
| `- note: add '@available' attribute to enclosing instance method
75 | if(productIds.isEmpty) {
76 | errorMessage = "No Products Ids available."
77 | self.isLoading = false
| |- error: setter for 'isLoading' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
78 | return
79 | }
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:83:13: error: setter for 'storeProducts' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
72 |
73 | @MainActor
74 | func fetchStoreProducts() async {
| `- note: add '@available' attribute to enclosing instance method
75 | if(productIds.isEmpty) {
76 | errorMessage = "No Products Ids available."
:
81 | do {
82 | let sk2Products = try await sk2Store.fetchProductsFromAppStore(for: productIds)
83 | storeProducts = sk2Products
| |- error: setter for 'storeProducts' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
84 | print("fetchStoreProducts = \(sk2Products.count)")
85 | self.updateAvaiableProducts();
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:86:13: error: setter for 'isLoading' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
72 |
73 | @MainActor
74 | func fetchStoreProducts() async {
| `- note: add '@available' attribute to enclosing instance method
75 | if(productIds.isEmpty) {
76 | errorMessage = "No Products Ids available."
:
84 | print("fetchStoreProducts = \(sk2Products.count)")
85 | self.updateAvaiableProducts();
86 | self.isLoading = false
| |- error: setter for 'isLoading' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
87 | } catch StoreError.noProductsInStore {
88 | let errMsg = "Got 0 products in App store."
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:89:13: error: setter for 'errorMessage' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
72 |
73 | @MainActor
74 | func fetchStoreProducts() async {
| `- note: add '@available' attribute to enclosing instance method
75 | if(productIds.isEmpty) {
76 | errorMessage = "No Products Ids available."
:
87 | } catch StoreError.noProductsInStore {
88 | let errMsg = "Got 0 products in App store."
89 | errorMessage = errMsg
| |- error: setter for 'errorMessage' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
90 | self.isLoading = false
91 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:90:13: error: setter for 'isLoading' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
72 |
73 | @MainActor
74 | func fetchStoreProducts() async {
| `- note: add '@available' attribute to enclosing instance method
75 | if(productIds.isEmpty) {
76 | errorMessage = "No Products Ids available."
:
88 | let errMsg = "Got 0 products in App store."
89 | errorMessage = errMsg
90 | self.isLoading = false
| |- error: setter for 'isLoading' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
91 | } catch {
92 | let errMsg = "Failed to fetch App Store products: \(error.localizedDescription)"
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:93:13: error: setter for 'errorMessage' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
72 |
73 | @MainActor
74 | func fetchStoreProducts() async {
| `- note: add '@available' attribute to enclosing instance method
75 | if(productIds.isEmpty) {
76 | errorMessage = "No Products Ids available."
:
91 | } catch {
92 | let errMsg = "Failed to fetch App Store products: \(error.localizedDescription)"
93 | errorMessage = errMsg
| |- error: setter for 'errorMessage' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
94 | print("fetchStoreProducts - \(error)")
95 | self.isLoading = false
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:95:13: error: setter for 'isLoading' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
72 |
73 | @MainActor
74 | func fetchStoreProducts() async {
| `- note: add '@available' attribute to enclosing instance method
75 | if(productIds.isEmpty) {
76 | errorMessage = "No Products Ids available."
:
93 | errorMessage = errMsg
94 | print("fetchStoreProducts - \(error)")
95 | self.isLoading = false
| |- error: setter for 'isLoading' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
96 | }
97 | }
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:102:13: error: setter for 'errorMessage' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
98 |
99 | @MainActor
100 | func purchaseProduct(with productId: String) async {
| `- note: add '@available' attribute to enclosing instance method
101 | guard let product = storeProducts.first(where: { $0.id == productId }) else {
102 | errorMessage = "Product not found in App Store"
| |- error: setter for 'errorMessage' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
103 | return
104 | }
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:106:44: error: 'purchase(options:)' is only available in macOS 12.0 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
98 |
99 | @MainActor
100 | func purchaseProduct(with productId: String) async {
| `- note: add '@available' attribute to enclosing instance method
101 | guard let product = storeProducts.first(where: { $0.id == productId }) else {
102 | errorMessage = "Product not found in App Store"
:
104 | }
105 | do {
106 | let result = try await product.purchase()
| |- error: 'purchase(options:)' is only available in macOS 12.0 or newer
| `- note: add 'if #available' version check
107 | // print("purchaseProduct result - \(result)")
108 | switch result {
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:117:17: error: setter for 'errorMessage' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
98 |
99 | @MainActor
100 | func purchaseProduct(with productId: String) async {
| `- note: add '@available' attribute to enclosing instance method
101 | guard let product = storeProducts.first(where: { $0.id == productId }) else {
102 | errorMessage = "Product not found in App Store"
:
115 |
116 | await transaction.finish()
117 | errorMessage = nil
| |- error: setter for 'errorMessage' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
118 | case .userCancelled:
119 | errorMessage = "User cancelled the purchase"
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:119:17: error: setter for 'errorMessage' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
98 |
99 | @MainActor
100 | func purchaseProduct(with productId: String) async {
| `- note: add '@available' attribute to enclosing instance method
101 | guard let product = storeProducts.first(where: { $0.id == productId }) else {
102 | errorMessage = "Product not found in App Store"
:
117 | errorMessage = nil
118 | case .userCancelled:
119 | errorMessage = "User cancelled the purchase"
| |- error: setter for 'errorMessage' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
120 |
121 | case .pending:
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:122:17: error: setter for 'errorMessage' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
98 |
99 | @MainActor
100 | func purchaseProduct(with productId: String) async {
| `- note: add '@available' attribute to enclosing instance method
101 | guard let product = storeProducts.first(where: { $0.id == productId }) else {
102 | errorMessage = "Product not found in App Store"
:
120 |
121 | case .pending:
122 | errorMessage = "Purchase is pending"
| |- error: setter for 'errorMessage' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
123 |
124 | default:
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:125:17: error: setter for 'errorMessage' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
98 |
99 | @MainActor
100 | func purchaseProduct(with productId: String) async {
| `- note: add '@available' attribute to enclosing instance method
101 | guard let product = storeProducts.first(where: { $0.id == productId }) else {
102 | errorMessage = "Product not found in App Store"
:
123 |
124 | default:
125 | errorMessage = "Unknown purchase result"
| |- error: setter for 'errorMessage' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
126 |
127 | }
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:129:13: error: setter for 'errorMessage' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
98 |
99 | @MainActor
100 | func purchaseProduct(with productId: String) async {
| `- note: add '@available' attribute to enclosing instance method
101 | guard let product = storeProducts.first(where: { $0.id == productId }) else {
102 | errorMessage = "Product not found in App Store"
:
127 | }
128 | } catch {
129 | errorMessage = "Purchase failed: \(error.localizedDescription)"
| |- error: setter for 'errorMessage' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
130 | }
131 |
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:136:29: error: 'Product' is only available in macOS 12.0 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
133 |
134 | @MainActor
135 | func updateCustomerProductStatus() async {
| `- note: add '@available' attribute to enclosing instance method
136 | var purchasedSubs: [Product] = []
| |- error: 'Product' is only available in macOS 12.0 or newer
| `- note: add 'if #available' version check
137 |
138 | var latestTransactions: [String: Transaction] = [:]
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:140:41: error: 'currentEntitlements' is only available in macOS 12.0 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
133 |
134 | @MainActor
135 | func updateCustomerProductStatus() async {
| `- note: add '@available' attribute to enclosing instance method
136 | var purchasedSubs: [Product] = []
137 |
138 | var latestTransactions: [String: Transaction] = [:]
139 |
140 | for await result in Transaction.currentEntitlements {
| |- error: 'currentEntitlements' is only available in macOS 12.0 or newer
| `- note: add 'if #available' version check
141 | do{
142 | let transaction = try sk2Store.checkVerified(result)
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:158:17: error: setter for 'errorMessage' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
133 |
134 | @MainActor
135 | func updateCustomerProductStatus() async {
| `- note: add '@available' attribute to enclosing instance method
136 | var purchasedSubs: [Product] = []
137 |
:
156 | }
157 | } catch {
158 | errorMessage = "Could not find products. \(error.localizedDescription)"
| |- error: setter for 'errorMessage' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
159 | }
160 |
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:168:9: error: setter for 'purchasedSubscriptions' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
133 |
134 | @MainActor
135 | func updateCustomerProductStatus() async {
| `- note: add '@available' attribute to enclosing instance method
136 | var purchasedSubs: [Product] = []
137 |
:
166 | }
167 |
168 | self.purchasedSubscriptions = purchasedSubs
| |- error: setter for 'purchasedSubscriptions' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
169 |
170 | subscriptionGroupStatus = try? await storeProducts.first?.subscription?.status.first?.state
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:170:9: error: setter for 'subscriptionGroupStatus' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
133 |
134 | @MainActor
135 | func updateCustomerProductStatus() async {
| `- note: add '@available' attribute to enclosing instance method
136 | var purchasedSubs: [Product] = []
137 |
:
168 | self.purchasedSubscriptions = purchasedSubs
169 |
170 | subscriptionGroupStatus = try? await storeProducts.first?.subscription?.status.first?.state
| |- error: setter for 'subscriptionGroupStatus' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
171 | await updateSubscriptionStatus()
172 |
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:170:81: error: 'status' is only available in macOS 12.0 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
133 |
134 | @MainActor
135 | func updateCustomerProductStatus() async {
| `- note: add '@available' attribute to enclosing instance method
136 | var purchasedSubs: [Product] = []
137 |
:
168 | self.purchasedSubscriptions = purchasedSubs
169 |
170 | subscriptionGroupStatus = try? await storeProducts.first?.subscription?.status.first?.state
| |- error: 'status' is only available in macOS 12.0 or newer
| `- note: add 'if #available' version check
171 | await updateSubscriptionStatus()
172 |
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:178:13: error: setter for 'isSubscribed' is only available in macOS 11.0 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
174 |
175 | @MainActor
176 | func updateSubscriptionStatus() async {
| `- note: add '@available' attribute to enclosing instance method
177 | if subscriptionGroupStatus == .subscribed || subscriptionGroupStatus == .inGracePeriod {
178 | isSubscribed = true
| |- error: setter for 'isSubscribed' is only available in macOS 11.0 or newer
| `- note: add 'if #available' version check
179 | } else {
180 | isSubscribed = false
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:180:13: error: setter for 'isSubscribed' is only available in macOS 11.0 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
174 |
175 | @MainActor
176 | func updateSubscriptionStatus() async {
| `- note: add '@available' attribute to enclosing instance method
177 | if subscriptionGroupStatus == .subscribed || subscriptionGroupStatus == .inGracePeriod {
178 | isSubscribed = true
179 | } else {
180 | isSubscribed = false
| |- error: setter for 'isSubscribed' is only available in macOS 11.0 or newer
| `- note: add 'if #available' version check
181 | }
182 | }
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:186:43: error: conformance of 'Product' to 'Equatable' is only available in macOS 12.0 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
182 | }
183 |
184 | func isProductPurchased(with productId: String) -> Bool {
| `- note: add '@available' attribute to enclosing instance method
185 | if let product = storeProducts.first(where: {$0.id == productId}) {
186 | return purchasedSubscriptions.contains(product)
| |- error: conformance of 'Product' to 'Equatable' is only available in macOS 12.0 or newer
| `- note: add 'if #available' version check
187 | }
188 | return false
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:193:16: error: 'Task' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
189 | }
190 |
191 | func listenForTransactions() -> Task<Void, Error> {
| `- note: add '@available' attribute to enclosing instance method
192 | print("listenForTransactions")
193 | return Task.detached {
| |- error: 'Task' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
194 | for await result in Transaction.updates {
195 | do {
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:193:21: error: 'detached(name:priority:operation:)' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
189 | }
190 |
191 | func listenForTransactions() -> Task<Void, Error> {
| `- note: add '@available' attribute to enclosing instance method
192 | print("listenForTransactions")
193 | return Task.detached {
| |- error: 'detached(name:priority:operation:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
194 | for await result in Transaction.updates {
195 | do {
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:194:45: error: 'updates' is only available in macOS 12.0 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
189 | }
190 |
191 | func listenForTransactions() -> Task<Void, Error> {
| `- note: add '@available' attribute to enclosing instance method
192 | print("listenForTransactions")
193 | return Task.detached {
194 | for await result in Transaction.updates {
| |- error: 'updates' is only available in macOS 12.0 or newer
| `- note: add 'if #available' version check
195 | do {
196 | let transaction = try result.payloadValue
[15/16] Compiling IosIapStore RootStore.swift
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Services/SubscriptionPlanService.swift:16:57: error: 'data(for:delegate:)' is only available in macOS 12.0 or newer
8 | import Foundation
9 |
10 | struct SubscriptionPlanService {
| `- note: add '@available' attribute to enclosing struct
11 | func loadSubscriptionPlans(apiKey: String) async throws -> [SubscriptionPlan] {
| `- note: add '@available' attribute to enclosing instance method
12 | do {
13 | let url = URL(string: "https://05052a84-35de-4a87-ae64-2b32a9188b68.mock.pstmn.io/productDetails")!
14 | var request = URLRequest(url: url)
15 | request.setValue(apiKey, forHTTPHeaderField: "Authorization")
16 | let (data, _) = try await URLSession.shared.data(for: request)
| |- error: 'data(for:delegate:)' is only available in macOS 12.0 or newer
| `- note: add 'if #available' version check
17 | let plans = try JSONDecoder().decode([SubscriptionPlan].self, from: data)
18 | return plans
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Services/SubscriptionPlanService.swift:45:51: error: 'data(for:delegate:)' is only available in macOS 12.0 or newer
8 | import Foundation
9 |
10 | struct SubscriptionPlanService {
| `- note: add '@available' attribute to enclosing struct
11 | func loadSubscriptionPlans(apiKey: String) async throws -> [SubscriptionPlan] {
12 | do {
:
22 | }
23 |
24 | func sendVerifiedCheck(transaction: TransactionDetails, apiKey: String) async throws {
| `- note: add '@available' attribute to enclosing instance method
25 | let urlString = "https://05052a84-35de-4a87-ae64-2b32a9188b68.mock.pstmn.io/transaction"
26 | let url = URL(string: urlString)
:
43 | // Set the HTTP body to the encoded JSON
44 | request.httpBody = jsonData
45 | let (data, _) = try await session.data(for: request);
| |- error: 'data(for:delegate:)' is only available in macOS 12.0 or newer
| `- note: add 'if #available' version check
46 | print("Post API response = \(data)")
47 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:15:34: error: 'Transaction' is only available in macOS 12.0 or newer
13 | }
14 |
15 | typealias Transaction = StoreKit.Transaction
| | `- error: 'Transaction' is only available in macOS 12.0 or newer
| `- note: add '@available' attribute to enclosing type alias
16 | typealias RenewalInfo = StoreKit.Product.SubscriptionInfo.RenewalInfo
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:16:34: error: 'Product' is only available in macOS 12.0 or newer
14 |
15 | typealias Transaction = StoreKit.Transaction
16 | typealias RenewalInfo = StoreKit.Product.SubscriptionInfo.RenewalInfo
| | `- error: 'Product' is only available in macOS 12.0 or newer
| `- note: add '@available' attribute to enclosing type alias
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:17:35: error: 'Product' is only available in macOS 12.0 or newer
15 | typealias Transaction = StoreKit.Transaction
16 | typealias RenewalInfo = StoreKit.Product.SubscriptionInfo.RenewalInfo
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
| | `- error: 'Product' is only available in macOS 12.0 or newer
| `- note: add '@available' attribute to enclosing type alias
18 |
19 | class RootStore: ObservableObject {
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:20:6: error: 'init(wrappedValue:_:store:)' is only available in macOS 11.0 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
| `- error: 'init(wrappedValue:_:store:)' is only available in macOS 11.0 or newer
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
22 | @Published var isLoading = true
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:20:6: error: 'AppStorage' is only available in macOS 11.0 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
| `- error: 'AppStorage' is only available in macOS 11.0 or newer
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
22 | @Published var isLoading = true
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:21:6: error: 'Published' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
| `- error: 'Published' is only available in macOS 10.15 or newer
22 | @Published var isLoading = true
23 | @Published var errorMessage: String?
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:22:6: error: 'Published' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
22 | @Published var isLoading = true
| `- error: 'Published' is only available in macOS 10.15 or newer
23 | @Published var errorMessage: String?
24 | @Published private(set) var storeProducts: [Product] = []
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:23:6: error: 'Published' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
22 | @Published var isLoading = true
23 | @Published var errorMessage: String?
| `- error: 'Published' is only available in macOS 10.15 or newer
24 | @Published private(set) var storeProducts: [Product] = []
25 | @Published var selectedProduct: SubscriptionPlan?
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:24:49: error: 'Product' is only available in macOS 12.0 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
22 | @Published var isLoading = true
23 | @Published var errorMessage: String?
24 | @Published private(set) var storeProducts: [Product] = []
| `- error: 'Product' is only available in macOS 12.0 or newer
25 | @Published var selectedProduct: SubscriptionPlan?
26 | @Published private(set) var purchasedSubscriptions: [Product] = []
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:24:6: error: 'Published' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
22 | @Published var isLoading = true
23 | @Published var errorMessage: String?
24 | @Published private(set) var storeProducts: [Product] = []
| `- error: 'Published' is only available in macOS 10.15 or newer
25 | @Published var selectedProduct: SubscriptionPlan?
26 | @Published private(set) var purchasedSubscriptions: [Product] = []
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:25:6: error: 'Published' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
23 | @Published var errorMessage: String?
24 | @Published private(set) var storeProducts: [Product] = []
25 | @Published var selectedProduct: SubscriptionPlan?
| `- error: 'Published' is only available in macOS 10.15 or newer
26 | @Published private(set) var purchasedSubscriptions: [Product] = []
27 | @Published private(set) var availableProducts: [SubscriptionPlan] = []
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:26:58: error: 'Product' is only available in macOS 12.0 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
24 | @Published private(set) var storeProducts: [Product] = []
25 | @Published var selectedProduct: SubscriptionPlan?
26 | @Published private(set) var purchasedSubscriptions: [Product] = []
| `- error: 'Product' is only available in macOS 12.0 or newer
27 | @Published private(set) var availableProducts: [SubscriptionPlan] = []
28 | @Published private(set) var productIds: [String] = []
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:26:6: error: 'Published' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
24 | @Published private(set) var storeProducts: [Product] = []
25 | @Published var selectedProduct: SubscriptionPlan?
26 | @Published private(set) var purchasedSubscriptions: [Product] = []
| `- error: 'Published' is only available in macOS 10.15 or newer
27 | @Published private(set) var availableProducts: [SubscriptionPlan] = []
28 | @Published private(set) var productIds: [String] = []
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:27:6: error: 'Published' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
25 | @Published var selectedProduct: SubscriptionPlan?
26 | @Published private(set) var purchasedSubscriptions: [Product] = []
27 | @Published private(set) var availableProducts: [SubscriptionPlan] = []
| `- error: 'Published' is only available in macOS 10.15 or newer
28 | @Published private(set) var productIds: [String] = []
29 | @Published private(set) var subscriptionGroupStatus: RenewalState?
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:28:6: error: 'Published' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
26 | @Published private(set) var purchasedSubscriptions: [Product] = []
27 | @Published private(set) var availableProducts: [SubscriptionPlan] = []
28 | @Published private(set) var productIds: [String] = []
| `- error: 'Published' is only available in macOS 10.15 or newer
29 | @Published private(set) var subscriptionGroupStatus: RenewalState?
30 |
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:29:6: error: 'Published' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
27 | @Published private(set) var availableProducts: [SubscriptionPlan] = []
28 | @Published private(set) var productIds: [String] = []
29 | @Published private(set) var subscriptionGroupStatus: RenewalState?
| `- error: 'Published' is only available in macOS 10.15 or newer
30 |
31 | var updateListenerTask: Task<Void, Error>? = nil
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:31:29: error: 'Task' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
29 | @Published private(set) var subscriptionGroupStatus: RenewalState?
30 |
31 | var updateListenerTask: Task<Void, Error>? = nil
| `- error: 'Task' is only available in macOS 10.15 or newer
32 |
33 | let sk2Store = SKProductStore()
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:191:37: error: 'Task' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
189 | }
190 |
191 | func listenForTransactions() -> Task<Void, Error> {
| | `- error: 'Task' is only available in macOS 10.15 or newer
| `- note: add '@available' attribute to enclosing instance method
192 | print("listenForTransactions")
193 | return Task.detached {
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:19:18: error: 'ObservableObject' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| | `- error: 'ObservableObject' is only available in macOS 10.15 or newer
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
<unknown>:0: error: cannot convert value of type 'any KeyPath<RootStore, [SubscriptionPlan]> & Sendable' to expected argument type 'ReferenceWritableKeyPath<RootStore, [SubscriptionPlan]>'
<unknown>:0: error: cannot convert value of type 'any KeyPath<RootStore, Bool> & Sendable' to expected argument type 'ReferenceWritableKeyPath<RootStore, Bool>'
<unknown>:0: error: cannot convert value of type 'any KeyPath<RootStore, String?> & Sendable' to expected argument type 'ReferenceWritableKeyPath<RootStore, String?>'
<unknown>:0: error: cannot convert value of type 'any KeyPath<RootStore, [Product]> & Sendable' to expected argument type 'ReferenceWritableKeyPath<RootStore, [Product]>'
<unknown>:0: error: cannot convert value of type 'any KeyPath<RootStore, SubscriptionPlan?> & Sendable' to expected argument type 'ReferenceWritableKeyPath<RootStore, SubscriptionPlan?>'
<unknown>:0: error: cannot convert value of type 'any KeyPath<RootStore, [Product]> & Sendable' to expected argument type 'ReferenceWritableKeyPath<RootStore, [Product]>'
<unknown>:0: error: cannot convert value of type 'any KeyPath<RootStore, [SubscriptionPlan]> & Sendable' to expected argument type 'ReferenceWritableKeyPath<RootStore, [SubscriptionPlan]>'
<unknown>:0: error: cannot convert value of type 'any KeyPath<RootStore, [String]> & Sendable' to expected argument type 'ReferenceWritableKeyPath<RootStore, [String]>'
<unknown>:0: error: cannot convert value of type 'any KeyPath<RootStore, RenewalState?> & Sendable' (aka 'any KeyPath<RootStore, Optional<Product.SubscriptionInfo.RenewalState>> & Sendable') to expected argument type 'ReferenceWritableKeyPath<RootStore, RenewalState?>' (aka 'ReferenceWritableKeyPath<RootStore, Optional<Product.SubscriptionInfo.RenewalState>>')
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:45:29: error: 'cancel()' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
43 | }
44 | deinit {
45 | updateListenerTask?.cancel()
| |- error: 'cancel()' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
46 | }
47 |
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:50:9: error: setter for 'availableProducts' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
47 |
48 | @MainActor
49 | private func updateAvaiableProducts() {
| `- note: add '@available' attribute to enclosing instance method
50 | availableProducts = apiSubscriptionPlans.filter { plan in
| |- error: setter for 'availableProducts' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
51 | storeProducts.contains { $0.id == plan.productId }
52 | }
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:56:9: error: setter for 'productIds' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
53 | }
54 | @MainActor
55 | private func updateProductIds() {
| `- note: add '@available' attribute to enclosing instance method
56 | productIds = apiSubscriptionPlans.map { $0.productId };
| |- error: setter for 'productIds' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
57 | }
58 |
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:63:13: error: setter for 'apiSubscriptionPlans' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
59 |
60 | @MainActor
61 | func fetchSubscriptionPlans(apiKey: String) async {
| `- note: add '@available' attribute to enclosing instance method
62 | do {
63 | self.apiSubscriptionPlans = try await subscriptionPlanService.loadSubscriptionPlans(apiKey: apiKey)
| |- error: setter for 'apiSubscriptionPlans' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
64 | print("fetchSubscriptionPlans = \(apiSubscriptionPlans.count)")
65 | self.updateProductIds();
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:67:13: error: setter for 'errorMessage' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
59 |
60 | @MainActor
61 | func fetchSubscriptionPlans(apiKey: String) async {
| `- note: add '@available' attribute to enclosing instance method
62 | do {
63 | self.apiSubscriptionPlans = try await subscriptionPlanService.loadSubscriptionPlans(apiKey: apiKey)
:
65 | self.updateProductIds();
66 | } catch {
67 | self.errorMessage = "Failed to load subscription plans: \(error.localizedDescription)"
| |- error: setter for 'errorMessage' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
68 | self.isLoading = false
69 | print("fetchSubscriptionPlans - \(error)")
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:68:13: error: setter for 'isLoading' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
59 |
60 | @MainActor
61 | func fetchSubscriptionPlans(apiKey: String) async {
| `- note: add '@available' attribute to enclosing instance method
62 | do {
63 | self.apiSubscriptionPlans = try await subscriptionPlanService.loadSubscriptionPlans(apiKey: apiKey)
:
66 | } catch {
67 | self.errorMessage = "Failed to load subscription plans: \(error.localizedDescription)"
68 | self.isLoading = false
| |- error: setter for 'isLoading' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
69 | print("fetchSubscriptionPlans - \(error)")
70 | }
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:76:13: error: setter for 'errorMessage' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
72 |
73 | @MainActor
74 | func fetchStoreProducts() async {
| `- note: add '@available' attribute to enclosing instance method
75 | if(productIds.isEmpty) {
76 | errorMessage = "No Products Ids available."
| |- error: setter for 'errorMessage' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
77 | self.isLoading = false
78 | return
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:77:13: error: setter for 'isLoading' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
72 |
73 | @MainActor
74 | func fetchStoreProducts() async {
| `- note: add '@available' attribute to enclosing instance method
75 | if(productIds.isEmpty) {
76 | errorMessage = "No Products Ids available."
77 | self.isLoading = false
| |- error: setter for 'isLoading' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
78 | return
79 | }
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:83:13: error: setter for 'storeProducts' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
72 |
73 | @MainActor
74 | func fetchStoreProducts() async {
| `- note: add '@available' attribute to enclosing instance method
75 | if(productIds.isEmpty) {
76 | errorMessage = "No Products Ids available."
:
81 | do {
82 | let sk2Products = try await sk2Store.fetchProductsFromAppStore(for: productIds)
83 | storeProducts = sk2Products
| |- error: setter for 'storeProducts' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
84 | print("fetchStoreProducts = \(sk2Products.count)")
85 | self.updateAvaiableProducts();
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:86:13: error: setter for 'isLoading' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
72 |
73 | @MainActor
74 | func fetchStoreProducts() async {
| `- note: add '@available' attribute to enclosing instance method
75 | if(productIds.isEmpty) {
76 | errorMessage = "No Products Ids available."
:
84 | print("fetchStoreProducts = \(sk2Products.count)")
85 | self.updateAvaiableProducts();
86 | self.isLoading = false
| |- error: setter for 'isLoading' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
87 | } catch StoreError.noProductsInStore {
88 | let errMsg = "Got 0 products in App store."
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:89:13: error: setter for 'errorMessage' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
72 |
73 | @MainActor
74 | func fetchStoreProducts() async {
| `- note: add '@available' attribute to enclosing instance method
75 | if(productIds.isEmpty) {
76 | errorMessage = "No Products Ids available."
:
87 | } catch StoreError.noProductsInStore {
88 | let errMsg = "Got 0 products in App store."
89 | errorMessage = errMsg
| |- error: setter for 'errorMessage' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
90 | self.isLoading = false
91 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:90:13: error: setter for 'isLoading' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
72 |
73 | @MainActor
74 | func fetchStoreProducts() async {
| `- note: add '@available' attribute to enclosing instance method
75 | if(productIds.isEmpty) {
76 | errorMessage = "No Products Ids available."
:
88 | let errMsg = "Got 0 products in App store."
89 | errorMessage = errMsg
90 | self.isLoading = false
| |- error: setter for 'isLoading' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
91 | } catch {
92 | let errMsg = "Failed to fetch App Store products: \(error.localizedDescription)"
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:93:13: error: setter for 'errorMessage' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
72 |
73 | @MainActor
74 | func fetchStoreProducts() async {
| `- note: add '@available' attribute to enclosing instance method
75 | if(productIds.isEmpty) {
76 | errorMessage = "No Products Ids available."
:
91 | } catch {
92 | let errMsg = "Failed to fetch App Store products: \(error.localizedDescription)"
93 | errorMessage = errMsg
| |- error: setter for 'errorMessage' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
94 | print("fetchStoreProducts - \(error)")
95 | self.isLoading = false
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:95:13: error: setter for 'isLoading' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
72 |
73 | @MainActor
74 | func fetchStoreProducts() async {
| `- note: add '@available' attribute to enclosing instance method
75 | if(productIds.isEmpty) {
76 | errorMessage = "No Products Ids available."
:
93 | errorMessage = errMsg
94 | print("fetchStoreProducts - \(error)")
95 | self.isLoading = false
| |- error: setter for 'isLoading' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
96 | }
97 | }
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:102:13: error: setter for 'errorMessage' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
98 |
99 | @MainActor
100 | func purchaseProduct(with productId: String) async {
| `- note: add '@available' attribute to enclosing instance method
101 | guard let product = storeProducts.first(where: { $0.id == productId }) else {
102 | errorMessage = "Product not found in App Store"
| |- error: setter for 'errorMessage' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
103 | return
104 | }
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:106:44: error: 'purchase(options:)' is only available in macOS 12.0 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
98 |
99 | @MainActor
100 | func purchaseProduct(with productId: String) async {
| `- note: add '@available' attribute to enclosing instance method
101 | guard let product = storeProducts.first(where: { $0.id == productId }) else {
102 | errorMessage = "Product not found in App Store"
:
104 | }
105 | do {
106 | let result = try await product.purchase()
| |- error: 'purchase(options:)' is only available in macOS 12.0 or newer
| `- note: add 'if #available' version check
107 | // print("purchaseProduct result - \(result)")
108 | switch result {
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:117:17: error: setter for 'errorMessage' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
98 |
99 | @MainActor
100 | func purchaseProduct(with productId: String) async {
| `- note: add '@available' attribute to enclosing instance method
101 | guard let product = storeProducts.first(where: { $0.id == productId }) else {
102 | errorMessage = "Product not found in App Store"
:
115 |
116 | await transaction.finish()
117 | errorMessage = nil
| |- error: setter for 'errorMessage' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
118 | case .userCancelled:
119 | errorMessage = "User cancelled the purchase"
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:119:17: error: setter for 'errorMessage' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
98 |
99 | @MainActor
100 | func purchaseProduct(with productId: String) async {
| `- note: add '@available' attribute to enclosing instance method
101 | guard let product = storeProducts.first(where: { $0.id == productId }) else {
102 | errorMessage = "Product not found in App Store"
:
117 | errorMessage = nil
118 | case .userCancelled:
119 | errorMessage = "User cancelled the purchase"
| |- error: setter for 'errorMessage' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
120 |
121 | case .pending:
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:122:17: error: setter for 'errorMessage' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
98 |
99 | @MainActor
100 | func purchaseProduct(with productId: String) async {
| `- note: add '@available' attribute to enclosing instance method
101 | guard let product = storeProducts.first(where: { $0.id == productId }) else {
102 | errorMessage = "Product not found in App Store"
:
120 |
121 | case .pending:
122 | errorMessage = "Purchase is pending"
| |- error: setter for 'errorMessage' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
123 |
124 | default:
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:125:17: error: setter for 'errorMessage' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
98 |
99 | @MainActor
100 | func purchaseProduct(with productId: String) async {
| `- note: add '@available' attribute to enclosing instance method
101 | guard let product = storeProducts.first(where: { $0.id == productId }) else {
102 | errorMessage = "Product not found in App Store"
:
123 |
124 | default:
125 | errorMessage = "Unknown purchase result"
| |- error: setter for 'errorMessage' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
126 |
127 | }
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:129:13: error: setter for 'errorMessage' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
98 |
99 | @MainActor
100 | func purchaseProduct(with productId: String) async {
| `- note: add '@available' attribute to enclosing instance method
101 | guard let product = storeProducts.first(where: { $0.id == productId }) else {
102 | errorMessage = "Product not found in App Store"
:
127 | }
128 | } catch {
129 | errorMessage = "Purchase failed: \(error.localizedDescription)"
| |- error: setter for 'errorMessage' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
130 | }
131 |
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:136:29: error: 'Product' is only available in macOS 12.0 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
133 |
134 | @MainActor
135 | func updateCustomerProductStatus() async {
| `- note: add '@available' attribute to enclosing instance method
136 | var purchasedSubs: [Product] = []
| |- error: 'Product' is only available in macOS 12.0 or newer
| `- note: add 'if #available' version check
137 |
138 | var latestTransactions: [String: Transaction] = [:]
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:140:41: error: 'currentEntitlements' is only available in macOS 12.0 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
133 |
134 | @MainActor
135 | func updateCustomerProductStatus() async {
| `- note: add '@available' attribute to enclosing instance method
136 | var purchasedSubs: [Product] = []
137 |
138 | var latestTransactions: [String: Transaction] = [:]
139 |
140 | for await result in Transaction.currentEntitlements {
| |- error: 'currentEntitlements' is only available in macOS 12.0 or newer
| `- note: add 'if #available' version check
141 | do{
142 | let transaction = try sk2Store.checkVerified(result)
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:158:17: error: setter for 'errorMessage' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
133 |
134 | @MainActor
135 | func updateCustomerProductStatus() async {
| `- note: add '@available' attribute to enclosing instance method
136 | var purchasedSubs: [Product] = []
137 |
:
156 | }
157 | } catch {
158 | errorMessage = "Could not find products. \(error.localizedDescription)"
| |- error: setter for 'errorMessage' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
159 | }
160 |
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:168:9: error: setter for 'purchasedSubscriptions' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
133 |
134 | @MainActor
135 | func updateCustomerProductStatus() async {
| `- note: add '@available' attribute to enclosing instance method
136 | var purchasedSubs: [Product] = []
137 |
:
166 | }
167 |
168 | self.purchasedSubscriptions = purchasedSubs
| |- error: setter for 'purchasedSubscriptions' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
169 |
170 | subscriptionGroupStatus = try? await storeProducts.first?.subscription?.status.first?.state
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:170:9: error: setter for 'subscriptionGroupStatus' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
133 |
134 | @MainActor
135 | func updateCustomerProductStatus() async {
| `- note: add '@available' attribute to enclosing instance method
136 | var purchasedSubs: [Product] = []
137 |
:
168 | self.purchasedSubscriptions = purchasedSubs
169 |
170 | subscriptionGroupStatus = try? await storeProducts.first?.subscription?.status.first?.state
| |- error: setter for 'subscriptionGroupStatus' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
171 | await updateSubscriptionStatus()
172 |
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:170:81: error: 'status' is only available in macOS 12.0 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
133 |
134 | @MainActor
135 | func updateCustomerProductStatus() async {
| `- note: add '@available' attribute to enclosing instance method
136 | var purchasedSubs: [Product] = []
137 |
:
168 | self.purchasedSubscriptions = purchasedSubs
169 |
170 | subscriptionGroupStatus = try? await storeProducts.first?.subscription?.status.first?.state
| |- error: 'status' is only available in macOS 12.0 or newer
| `- note: add 'if #available' version check
171 | await updateSubscriptionStatus()
172 |
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:178:13: error: setter for 'isSubscribed' is only available in macOS 11.0 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
174 |
175 | @MainActor
176 | func updateSubscriptionStatus() async {
| `- note: add '@available' attribute to enclosing instance method
177 | if subscriptionGroupStatus == .subscribed || subscriptionGroupStatus == .inGracePeriod {
178 | isSubscribed = true
| |- error: setter for 'isSubscribed' is only available in macOS 11.0 or newer
| `- note: add 'if #available' version check
179 | } else {
180 | isSubscribed = false
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:180:13: error: setter for 'isSubscribed' is only available in macOS 11.0 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
174 |
175 | @MainActor
176 | func updateSubscriptionStatus() async {
| `- note: add '@available' attribute to enclosing instance method
177 | if subscriptionGroupStatus == .subscribed || subscriptionGroupStatus == .inGracePeriod {
178 | isSubscribed = true
179 | } else {
180 | isSubscribed = false
| |- error: setter for 'isSubscribed' is only available in macOS 11.0 or newer
| `- note: add 'if #available' version check
181 | }
182 | }
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:186:43: error: conformance of 'Product' to 'Equatable' is only available in macOS 12.0 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
182 | }
183 |
184 | func isProductPurchased(with productId: String) -> Bool {
| `- note: add '@available' attribute to enclosing instance method
185 | if let product = storeProducts.first(where: {$0.id == productId}) {
186 | return purchasedSubscriptions.contains(product)
| |- error: conformance of 'Product' to 'Equatable' is only available in macOS 12.0 or newer
| `- note: add 'if #available' version check
187 | }
188 | return false
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:193:16: error: 'Task' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
189 | }
190 |
191 | func listenForTransactions() -> Task<Void, Error> {
| `- note: add '@available' attribute to enclosing instance method
192 | print("listenForTransactions")
193 | return Task.detached {
| |- error: 'Task' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
194 | for await result in Transaction.updates {
195 | do {
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:193:21: error: 'detached(name:priority:operation:)' is only available in macOS 10.15 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
189 | }
190 |
191 | func listenForTransactions() -> Task<Void, Error> {
| `- note: add '@available' attribute to enclosing instance method
192 | print("listenForTransactions")
193 | return Task.detached {
| |- error: 'detached(name:priority:operation:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
194 | for await result in Transaction.updates {
195 | do {
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:194:45: error: 'updates' is only available in macOS 12.0 or newer
17 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
18 |
19 | class RootStore: ObservableObject {
| `- note: add '@available' attribute to enclosing class
20 | @AppStorage("subscribed") private var isSubscribed: Bool = false
21 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
189 | }
190 |
191 | func listenForTransactions() -> Task<Void, Error> {
| `- note: add '@available' attribute to enclosing instance method
192 | print("listenForTransactions")
193 | return Task.detached {
194 | for await result in Transaction.updates {
| |- error: 'updates' is only available in macOS 12.0 or newer
| `- note: add 'if #available' version check
195 | do {
196 | let transaction = try result.payloadValue
[16/16] Compiling IosIapStore resource_bundle_accessor.swift
warning: 'spi-builder-workspace': found 1 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Others/Media.xcassets
BUILD FAILURE 6.3 macosSpm