Build Information
Failed to build IosIapStore, reference main (d115b2), with Swift 6.2 for macOS (SPM) on 22 Jun 2025 15:36:12 UTC.
Build Command
env DEVELOPER_DIR=/Applications/Xcode-26.0.0-Beta.app xcrun swift build --arch arm64Build Log
22 | HStack{
23 | VStack(alignment: .leading, spacing: 10) {
:
59 | )
60 | .cornerRadius(12)
61 | .overlay(
| |- error: 'overlay(_:alignment:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
62 | RoundedRectangle(cornerRadius: 12)
63 | .stroke(isSelected ? Color.blue : Color.gray.opacity(0.5), lineWidth: 1)
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/ProductListItemView.swift:62:13: error: 'RoundedRectangle' 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 {
| `- note: add @available attribute to enclosing property
22 | HStack{
23 | VStack(alignment: .leading, spacing: 10) {
:
60 | .cornerRadius(12)
61 | .overlay(
62 | RoundedRectangle(cornerRadius: 12)
| |- error: 'RoundedRectangle' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
63 | .stroke(isSelected ? Color.blue : Color.gray.opacity(0.5), lineWidth: 1)
64 | )
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/ProductListItemView.swift:63:18: error: 'stroke(_:lineWidth:antialiased:)' is only available in macOS 14.0 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 {
| `- note: add @available attribute to enclosing property
22 | HStack{
23 | VStack(alignment: .leading, spacing: 10) {
:
61 | .overlay(
62 | RoundedRectangle(cornerRadius: 12)
63 | .stroke(isSelected ? Color.blue : Color.gray.opacity(0.5), lineWidth: 1)
| |- error: 'stroke(_:lineWidth:antialiased:)' is only available in macOS 14.0 or newer
| `- note: add 'if #available' version check
64 | )
65 | }
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/ProductListItemView.swift:63:38: error: 'Color' 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 {
| `- note: add @available attribute to enclosing property
22 | HStack{
23 | VStack(alignment: .leading, spacing: 10) {
:
61 | .overlay(
62 | RoundedRectangle(cornerRadius: 12)
63 | .stroke(isSelected ? Color.blue : Color.gray.opacity(0.5), lineWidth: 1)
| |- error: 'Color' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
64 | )
65 | }
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/ProductListItemView.swift:63:44: error: 'blue' 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 {
| `- note: add @available attribute to enclosing property
22 | HStack{
23 | VStack(alignment: .leading, spacing: 10) {
:
61 | .overlay(
62 | RoundedRectangle(cornerRadius: 12)
63 | .stroke(isSelected ? Color.blue : Color.gray.opacity(0.5), lineWidth: 1)
| |- error: 'blue' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
64 | )
65 | }
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/ProductListItemView.swift:63:51: error: 'Color' 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 {
| `- note: add @available attribute to enclosing property
22 | HStack{
23 | VStack(alignment: .leading, spacing: 10) {
:
61 | .overlay(
62 | RoundedRectangle(cornerRadius: 12)
63 | .stroke(isSelected ? Color.blue : Color.gray.opacity(0.5), lineWidth: 1)
| |- error: 'Color' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
64 | )
65 | }
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/ProductListItemView.swift:63:57: error: 'gray' 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 {
| `- note: add @available attribute to enclosing property
22 | HStack{
23 | VStack(alignment: .leading, spacing: 10) {
:
61 | .overlay(
62 | RoundedRectangle(cornerRadius: 12)
63 | .stroke(isSelected ? Color.blue : Color.gray.opacity(0.5), lineWidth: 1)
| |- error: 'gray' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
64 | )
65 | }
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/ProductListItemView.swift:63:62: error: 'opacity' 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 {
| `- note: add @available attribute to enclosing property
22 | HStack{
23 | VStack(alignment: .leading, spacing: 10) {
:
61 | .overlay(
62 | RoundedRectangle(cornerRadius: 12)
63 | .stroke(isSelected ? Color.blue : Color.gray.opacity(0.5), lineWidth: 1)
| |- error: 'opacity' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
64 | )
65 | }
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/ProductListItemView.swift:70:9: error: 'ZStack' 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 {
| `- note: add @available attribute to enclosing property
70 | ZStack {
| |- error: 'ZStack' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
71 | Circle()
72 | .stroke(isSelected ? Color.blue : Color.gray, lineWidth: 2)
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/ProductListItemView.swift:70:16: error: conformance of 'Color' to 'ShapeStyle' 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 {
| `- note: add @available attribute to enclosing property
70 | ZStack {
| |- error: conformance of 'Color' to 'ShapeStyle' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
71 | Circle()
72 | .stroke(isSelected ? Color.blue : Color.gray, lineWidth: 2)
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/ProductListItemView.swift:70:16: error: conformance of 'Color' to 'ShapeStyle' 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 {
| `- note: add @available attribute to enclosing property
70 | ZStack {
| |- error: conformance of 'Color' to 'ShapeStyle' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
71 | Circle()
72 | .stroke(isSelected ? Color.blue : Color.gray, lineWidth: 2)
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/ProductListItemView.swift:71:13: error: 'Circle' 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 {
| `- note: add @available attribute to enclosing property
70 | ZStack {
71 | Circle()
| |- error: 'Circle' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
72 | .stroke(isSelected ? Color.blue : Color.gray, lineWidth: 2)
73 | .background(Circle().fill(isSelected ? Color.blue : Color.clear))
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/ProductListItemView.swift:72:18: error: 'stroke(_:lineWidth:antialiased:)' is only available in macOS 14.0 or newer
66 | }
67 |
68 | extension ProductListItemView {
| `- note: add @available attribute to enclosing extension
69 | private var radioButton: some View {
| `- note: add @available attribute to enclosing property
70 | ZStack {
71 | Circle()
72 | .stroke(isSelected ? Color.blue : Color.gray, lineWidth: 2)
| |- error: 'stroke(_:lineWidth:antialiased:)' is only available in macOS 14.0 or newer
| `- note: add 'if #available' version check
73 | .background(Circle().fill(isSelected ? Color.blue : Color.clear))
74 | .frame(width: 24, height: 24)
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/ProductListItemView.swift:72:38: error: 'Color' 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 {
| `- note: add @available attribute to enclosing property
70 | ZStack {
71 | Circle()
72 | .stroke(isSelected ? Color.blue : Color.gray, lineWidth: 2)
| |- error: 'Color' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
73 | .background(Circle().fill(isSelected ? Color.blue : Color.clear))
74 | .frame(width: 24, height: 24)
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/ProductListItemView.swift:72:44: error: 'blue' 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 {
| `- note: add @available attribute to enclosing property
70 | ZStack {
71 | Circle()
72 | .stroke(isSelected ? Color.blue : Color.gray, lineWidth: 2)
| |- error: 'blue' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
73 | .background(Circle().fill(isSelected ? Color.blue : Color.clear))
74 | .frame(width: 24, height: 24)
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/ProductListItemView.swift:72:51: error: 'Color' 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 {
| `- note: add @available attribute to enclosing property
70 | ZStack {
71 | Circle()
72 | .stroke(isSelected ? Color.blue : Color.gray, lineWidth: 2)
| |- error: 'Color' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
73 | .background(Circle().fill(isSelected ? Color.blue : Color.clear))
74 | .frame(width: 24, height: 24)
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/ProductListItemView.swift:72:57: error: 'gray' 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 {
| `- note: add @available attribute to enclosing property
70 | ZStack {
71 | Circle()
72 | .stroke(isSelected ? Color.blue : Color.gray, lineWidth: 2)
| |- error: 'gray' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
73 | .background(Circle().fill(isSelected ? Color.blue : Color.clear))
74 | .frame(width: 24, height: 24)
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/ProductListItemView.swift:73:18: error: 'background(_:alignment:)' 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 {
| `- note: add @available attribute to enclosing property
70 | ZStack {
71 | Circle()
72 | .stroke(isSelected ? Color.blue : Color.gray, lineWidth: 2)
73 | .background(Circle().fill(isSelected ? Color.blue : Color.clear))
| |- error: 'background(_:alignment:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
74 | .frame(width: 24, height: 24)
75 |
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/ProductListItemView.swift:73:29: error: 'Circle' 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 {
| `- note: add @available attribute to enclosing property
70 | ZStack {
71 | Circle()
72 | .stroke(isSelected ? Color.blue : Color.gray, lineWidth: 2)
73 | .background(Circle().fill(isSelected ? Color.blue : Color.clear))
| |- error: 'Circle' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
74 | .frame(width: 24, height: 24)
75 |
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/ProductListItemView.swift:73:38: error: 'fill(_:style:)' is only available in macOS 14.0 or newer
66 | }
67 |
68 | extension ProductListItemView {
| `- note: add @available attribute to enclosing extension
69 | private var radioButton: some View {
| `- note: add @available attribute to enclosing property
70 | ZStack {
71 | Circle()
72 | .stroke(isSelected ? Color.blue : Color.gray, lineWidth: 2)
73 | .background(Circle().fill(isSelected ? Color.blue : Color.clear))
| |- error: 'fill(_:style:)' is only available in macOS 14.0 or newer
| `- note: add 'if #available' version check
74 | .frame(width: 24, height: 24)
75 |
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/ProductListItemView.swift:73:56: error: 'Color' 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 {
| `- note: add @available attribute to enclosing property
70 | ZStack {
71 | Circle()
72 | .stroke(isSelected ? Color.blue : Color.gray, lineWidth: 2)
73 | .background(Circle().fill(isSelected ? Color.blue : Color.clear))
| |- error: 'Color' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
74 | .frame(width: 24, height: 24)
75 |
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/ProductListItemView.swift:73:62: error: 'blue' 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 {
| `- note: add @available attribute to enclosing property
70 | ZStack {
71 | Circle()
72 | .stroke(isSelected ? Color.blue : Color.gray, lineWidth: 2)
73 | .background(Circle().fill(isSelected ? Color.blue : Color.clear))
| |- error: 'blue' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
74 | .frame(width: 24, height: 24)
75 |
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/ProductListItemView.swift:73:69: error: 'Color' 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 {
| `- note: add @available attribute to enclosing property
70 | ZStack {
71 | Circle()
72 | .stroke(isSelected ? Color.blue : Color.gray, lineWidth: 2)
73 | .background(Circle().fill(isSelected ? Color.blue : Color.clear))
| |- error: 'Color' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
74 | .frame(width: 24, height: 24)
75 |
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/ProductListItemView.swift:73:75: error: 'clear' 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 {
| `- note: add @available attribute to enclosing property
70 | ZStack {
71 | Circle()
72 | .stroke(isSelected ? Color.blue : Color.gray, lineWidth: 2)
73 | .background(Circle().fill(isSelected ? Color.blue : Color.clear))
| |- error: 'clear' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
74 | .frame(width: 24, height: 24)
75 |
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/ProductListItemView.swift:74:18: error: 'frame(width:height:alignment:)' 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 {
| `- note: add @available attribute to enclosing property
70 | ZStack {
71 | Circle()
72 | .stroke(isSelected ? Color.blue : Color.gray, lineWidth: 2)
73 | .background(Circle().fill(isSelected ? Color.blue : Color.clear))
74 | .frame(width: 24, height: 24)
| |- error: 'frame(width:height:alignment:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
75 |
76 | if isSelected {
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/ProductListItemView.swift:77:17: error: 'Image' 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 {
| `- note: add @available attribute to enclosing property
70 | ZStack {
71 | Circle()
:
75 |
76 | if isSelected {
77 | Image(systemName: "checkmark")
| |- error: 'Image' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
78 | .foregroundColor(.white)
79 | .font(.system(size: 14, weight: .bold))
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/ProductListItemView.swift:77:17: error: 'init(systemName:)' is only available in macOS 11.0 or newer
66 | }
67 |
68 | extension ProductListItemView {
| `- note: add @available attribute to enclosing extension
69 | private var radioButton: some View {
| `- note: add @available attribute to enclosing property
70 | ZStack {
71 | Circle()
:
75 |
76 | if isSelected {
77 | Image(systemName: "checkmark")
| |- error: 'init(systemName:)' is only available in macOS 11.0 or newer
| `- note: add 'if #available' version check
78 | .foregroundColor(.white)
79 | .font(.system(size: 14, weight: .bold))
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/ProductListItemView.swift:78:22: error: 'foregroundColor' 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 {
| `- note: add @available attribute to enclosing property
70 | ZStack {
71 | Circle()
:
76 | if isSelected {
77 | Image(systemName: "checkmark")
78 | .foregroundColor(.white)
| |- error: 'foregroundColor' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
79 | .font(.system(size: 14, weight: .bold))
80 | }
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/ProductListItemView.swift:78:39: error: 'white' 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 {
| `- note: add @available attribute to enclosing property
70 | ZStack {
71 | Circle()
:
76 | if isSelected {
77 | Image(systemName: "checkmark")
78 | .foregroundColor(.white)
| |- error: 'white' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
79 | .font(.system(size: 14, weight: .bold))
80 | }
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/ProductListItemView.swift:79:22: error: 'font' 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 {
| `- note: add @available attribute to enclosing property
70 | ZStack {
71 | Circle()
:
77 | Image(systemName: "checkmark")
78 | .foregroundColor(.white)
79 | .font(.system(size: 14, weight: .bold))
| |- error: 'font' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
80 | }
81 | }
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/ProductListItemView.swift:79:28: error: 'system(size:weight:design:)' is only available in macOS 13.0 or newer
66 | }
67 |
68 | extension ProductListItemView {
| `- note: add @available attribute to enclosing extension
69 | private var radioButton: some View {
| `- note: add @available attribute to enclosing property
70 | ZStack {
71 | Circle()
:
77 | Image(systemName: "checkmark")
78 | .foregroundColor(.white)
79 | .font(.system(size: 14, weight: .bold))
| |- error: 'system(size:weight:design:)' is only available in macOS 13.0 or newer
| `- note: add 'if #available' version check
80 | }
81 | }
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/ProductListItemView.swift:76:27: error: 'buildIf' 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 {
| `- note: add @available attribute to enclosing property
70 | ZStack {
71 | Circle()
:
74 | .frame(width: 24, height: 24)
75 |
76 | if isSelected {
| |- error: 'buildIf' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
77 | Image(systemName: "checkmark")
78 | .foregroundColor(.white)
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/ProductListItemView.swift:80:13: error: 'buildIf' 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 {
| `- note: add @available attribute to enclosing property
70 | ZStack {
71 | Circle()
:
78 | .foregroundColor(.white)
79 | .font(.system(size: 14, weight: .bold))
80 | }
| |- error: 'buildIf' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
81 | }
82 | }
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/ProductListItemView.swift:70:16: error: conformance of 'Optional<Wrapped>' to '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 {
| `- note: add @available attribute to enclosing property
70 | ZStack {
| |- error: conformance of 'Optional<Wrapped>' to 'View' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
71 | Circle()
72 | .stroke(isSelected ? Color.blue : Color.gray, lineWidth: 2)
[6/14] Compiling IosIapStore ProductListView.swift
/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/ProductListView.swift:13:9: error: conformance of 'ForEach<Data, ID, Content>' to '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 {
| `- note: add @available attribute to enclosing property
13 | ScrollView(.vertical, showsIndicators: false){
| |- error: conformance of 'ForEach<Data, ID, Content>' to 'View' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
14 | VStack(spacing: 20) {
15 | ForEach(store.availableProducts) { product in
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/ProductListView.swift:13:9: error: 'ScrollView' 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 {
| `- note: add @available attribute to enclosing property
13 | ScrollView(.vertical, showsIndicators: false){
| |- error: 'ScrollView' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
14 | VStack(spacing: 20) {
15 | ForEach(store.availableProducts) { product in
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/ProductListView.swift:13:9: error: 'init(_:showsIndicators:content:)' 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 {
| `- note: add @available attribute to enclosing property
13 | ScrollView(.vertical, showsIndicators: false){
| |- error: 'init(_:showsIndicators:content:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
14 | VStack(spacing: 20) {
15 | ForEach(store.availableProducts) { product in
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/ProductListView.swift:13:54: error: conformance of 'ForEach<Data, ID, Content>' to '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 {
| `- note: add @available attribute to enclosing property
13 | ScrollView(.vertical, showsIndicators: false){
| |- error: conformance of 'ForEach<Data, ID, Content>' to 'View' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
14 | VStack(spacing: 20) {
15 | ForEach(store.availableProducts) { product in
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/ProductListView.swift:13:54: error: conformance of 'ForEach<Data, ID, Content>' to '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 {
| `- note: add @available attribute to enclosing property
13 | ScrollView(.vertical, showsIndicators: false){
| |- error: conformance of 'ForEach<Data, ID, Content>' to 'View' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
14 | VStack(spacing: 20) {
15 | ForEach(store.availableProducts) { product in
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/ProductListView.swift:14:13: error: conformance of 'ForEach<Data, ID, Content>' to '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 {
| `- note: add @available attribute to enclosing property
13 | ScrollView(.vertical, showsIndicators: false){
14 | VStack(spacing: 20) {
| |- error: conformance of 'ForEach<Data, ID, Content>' to 'View' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
15 | ForEach(store.availableProducts) { product in
16 | ProductListItemView(product: product)
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/ProductListView.swift:14:13: error: 'VStack' 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 {
| `- note: add @available attribute to enclosing property
13 | ScrollView(.vertical, showsIndicators: false){
14 | VStack(spacing: 20) {
| |- error: 'VStack' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
15 | ForEach(store.availableProducts) { product in
16 | ProductListItemView(product: product)
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/ProductListView.swift:14:13: error: conformance of 'ForEach<Data, ID, Content>' to '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 {
| `- note: add @available attribute to enclosing property
13 | ScrollView(.vertical, showsIndicators: false){
14 | VStack(spacing: 20) {
| |- error: conformance of 'ForEach<Data, ID, Content>' to 'View' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
15 | ForEach(store.availableProducts) { product in
16 | ProductListItemView(product: product)
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/ProductListView.swift:15:17: error: conformance of 'ForEach<Data, ID, Content>' to '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 {
| `- note: add @available attribute to enclosing property
13 | ScrollView(.vertical, showsIndicators: false){
14 | VStack(spacing: 20) {
15 | ForEach(store.availableProducts) { product in
| |- error: conformance of 'ForEach<Data, ID, Content>' to 'View' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
16 | ProductListItemView(product: product)
17 | .onTapGesture {
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/ProductListView.swift:15:17: error: 'ForEach' 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 {
| `- note: add @available attribute to enclosing property
13 | ScrollView(.vertical, showsIndicators: false){
14 | VStack(spacing: 20) {
15 | ForEach(store.availableProducts) { product in
| |- error: 'ForEach' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
16 | ProductListItemView(product: product)
17 | .onTapGesture {
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/ProductListView.swift:15:17: error: 'init(_:content:)' 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 {
| `- note: add @available attribute to enclosing property
13 | ScrollView(.vertical, showsIndicators: false){
14 | VStack(spacing: 20) {
15 | ForEach(store.availableProducts) { product in
| |- error: 'init(_:content:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
16 | ProductListItemView(product: product)
17 | .onTapGesture {
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/ProductListView.swift:17:26: error: 'onTapGesture(count:perform:)' 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 {
| `- note: add @available attribute to enclosing property
13 | ScrollView(.vertical, showsIndicators: false){
14 | VStack(spacing: 20) {
15 | ForEach(store.availableProducts) { product in
16 | ProductListItemView(product: product)
17 | .onTapGesture {
| |- error: 'onTapGesture(count:perform:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
18 | store.selectedProduct = product
19 | }
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/ProductListView.swift:18:29: error: setter for 'selectedProduct' 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 {
| `- note: add @available attribute to enclosing property
13 | ScrollView(.vertical, showsIndicators: false){
14 | VStack(spacing: 20) {
:
16 | ProductListItemView(product: product)
17 | .onTapGesture {
18 | store.selectedProduct = product
| |- error: setter for 'selectedProduct' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
19 | }
20 | }
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/ProductListView.swift:14:33: error: conformance of 'ForEach<Data, ID, Content>' to '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 {
| `- note: add @available attribute to enclosing property
13 | ScrollView(.vertical, showsIndicators: false){
14 | VStack(spacing: 20) {
| |- error: conformance of 'ForEach<Data, ID, Content>' to 'View' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
15 | ForEach(store.availableProducts) { product in
16 | ProductListItemView(product: product)
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/ProductListView.swift:13:54: error: conformance of 'ForEach<Data, ID, Content>' to '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 {
| `- note: add @available attribute to enclosing property
13 | ScrollView(.vertical, showsIndicators: false){
| |- error: conformance of 'ForEach<Data, ID, Content>' to 'View' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
14 | VStack(spacing: 20) {
15 | ForEach(store.availableProducts) { product in
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/ProductListView.swift:12:25: error: conformance of 'ForEach<Data, ID, Content>' to '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: conformance of 'ForEach<Data, ID, Content>' to 'View' is only available in macOS 10.15 or newer
| | `- note: add 'if #available' version check
| `- 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/ProductListView.swift:12:25: error: conformance of 'ForEach<Data, ID, Content>' to '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: conformance of 'ForEach<Data, ID, Content>' to 'View' is only available in macOS 10.15 or newer
| | `- note: add 'if #available' version check
| `- note: add @available attribute to enclosing property
13 | ScrollView(.vertical, showsIndicators: false){
14 | VStack(spacing: 20) {
[7/14] 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:24: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
:
22 | }
23 |
24 | public var body: some View {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing property
25 | ZStack {
26 | paymentContent
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:38:34: error: 'View' is only available in macOS 10.15 or newer
35 | }
36 |
37 | extension RootStoreView {
| `- note: add @available attribute to enclosing extension
38 | private var errorToast: some View {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing property
39 | Group {
40 | if showToast, let message = store.errorMessage {
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:52:38: error: 'View' is only available in macOS 10.15 or newer
35 | }
36 |
37 | extension RootStoreView {
| `- note: add @available attribute to enclosing extension
38 | private var errorToast: some View {
39 | Group {
:
50 | }
51 |
52 | private var paymentContent: some View {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing property
53 | VStack {
54 | 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:25: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
:
22 | }
23 |
24 | public var body: some View {
| `- note: add @available attribute to enclosing property
25 | ZStack {
| |- error: 'ZStack' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
26 | paymentContent
27 | errorToast
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:29: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
:
22 | }
23 |
24 | public var body: some View {
| `- note: add @available attribute to enclosing property
25 | ZStack {
26 | paymentContent
27 | errorToast
28 | }
29 | .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
30 | if newValue != nil {
31 | showToastForLimitedTime()
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:39:9: error: conformance of 'Group<Content>' to 'View' is only available in macOS 10.15 or newer
35 | }
36 |
37 | extension RootStoreView {
| `- note: add @available attribute to enclosing extension
38 | private var errorToast: some View {
| `- note: add @available attribute to enclosing property
39 | Group {
| |- error: conformance of 'Group<Content>' to 'View' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
40 | if showToast, let message = store.errorMessage {
41 | VStack {
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:39:9: error: 'Group' is only available in macOS 10.15 or newer
35 | }
36 |
37 | extension RootStoreView {
| `- note: add @available attribute to enclosing extension
38 | private var errorToast: some View {
| `- note: add @available attribute to enclosing property
39 | Group {
| |- error: 'Group' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
40 | if showToast, let message = store.errorMessage {
41 | VStack {
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:39:9: error: 'init(content:)' is only available in macOS 10.15 or newer
35 | }
36 |
37 | extension RootStoreView {
| `- note: add @available attribute to enclosing extension
38 | private var errorToast: some View {
| `- note: add @available attribute to enclosing property
39 | Group {
| |- error: 'init(content:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
40 | if showToast, let message = store.errorMessage {
41 | VStack {
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:41:17: error: 'VStack' is only available in macOS 10.15 or newer
35 | }
36 |
37 | extension RootStoreView {
| `- note: add @available attribute to enclosing extension
38 | private var errorToast: some View {
| `- note: add @available attribute to enclosing property
39 | Group {
40 | if showToast, let message = store.errorMessage {
41 | VStack {
| |- error: 'VStack' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
42 | Spacer()
43 | ToastView(message: message)
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:42:21: error: conformance of 'Spacer' to 'View' is only available in macOS 10.15 or newer
35 | }
36 |
37 | extension RootStoreView {
| `- note: add @available attribute to enclosing extension
38 | private var errorToast: some View {
| `- note: add @available attribute to enclosing property
39 | Group {
40 | if showToast, let message = store.errorMessage {
41 | VStack {
42 | Spacer()
| |- error: conformance of 'Spacer' to 'View' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
43 | ToastView(message: message)
44 | .padding(.bottom, 50)
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:42:21: error: 'Spacer' is only available in macOS 10.15 or newer
35 | }
36 |
37 | extension RootStoreView {
| `- note: add @available attribute to enclosing extension
38 | private var errorToast: some View {
| `- note: add @available attribute to enclosing property
39 | Group {
40 | if showToast, let message = store.errorMessage {
41 | VStack {
42 | Spacer()
| |- error: 'Spacer' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
43 | ToastView(message: message)
44 | .padding(.bottom, 50)
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:44:26: error: 'padding' is only available in macOS 10.15 or newer
35 | }
36 |
37 | extension RootStoreView {
| `- note: add @available attribute to enclosing extension
38 | private var errorToast: some View {
| `- note: add @available attribute to enclosing property
39 | Group {
40 | if showToast, let message = store.errorMessage {
:
42 | Spacer()
43 | ToastView(message: message)
44 | .padding(.bottom, 50)
| |- error: 'padding' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
45 | .transition(.move(edge: .bottom).combined(with: .opacity))
46 | .zIndex(1)
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:45:26: error: 'transition' is only available in macOS 14.0 or newer
35 | }
36 |
37 | extension RootStoreView {
| `- note: add @available attribute to enclosing extension
38 | private var errorToast: some View {
| `- note: add @available attribute to enclosing property
39 | Group {
40 | if showToast, let message = store.errorMessage {
:
43 | ToastView(message: message)
44 | .padding(.bottom, 50)
45 | .transition(.move(edge: .bottom).combined(with: .opacity))
| |- error: 'transition' is only available in macOS 14.0 or newer
| `- note: add 'if #available' version check
46 | .zIndex(1)
47 | }
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:45:38: error: 'move(edge:)' is only available in macOS 14.0 or newer
35 | }
36 |
37 | extension RootStoreView {
| `- note: add @available attribute to enclosing extension
38 | private var errorToast: some View {
| `- note: add @available attribute to enclosing property
39 | Group {
40 | if showToast, let message = store.errorMessage {
:
43 | ToastView(message: message)
44 | .padding(.bottom, 50)
45 | .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
46 | .zIndex(1)
47 | }
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:45:58: error: 'combined(with:)' is only available in macOS 14.0 or newer
35 | }
36 |
37 | extension RootStoreView {
| `- note: add @available attribute to enclosing extension
38 | private var errorToast: some View {
| `- note: add @available attribute to enclosing property
39 | Group {
40 | if showToast, let message = store.errorMessage {
:
43 | ToastView(message: message)
44 | .padding(.bottom, 50)
45 | .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
46 | .zIndex(1)
47 | }
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:45:74: error: 'opacity' is only available in macOS 14.0 or newer
35 | }
36 |
37 | extension RootStoreView {
| `- note: add @available attribute to enclosing extension
38 | private var errorToast: some View {
| `- note: add @available attribute to enclosing property
39 | Group {
40 | if showToast, let message = store.errorMessage {
:
43 | ToastView(message: message)
44 | .padding(.bottom, 50)
45 | .transition(.move(edge: .bottom).combined(with: .opacity))
| |- error: 'opacity' is only available in macOS 14.0 or newer
| `- note: add 'if #available' version check
46 | .zIndex(1)
47 | }
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:46:26: error: 'zIndex' is only available in macOS 10.15 or newer
35 | }
36 |
37 | extension RootStoreView {
| `- note: add @available attribute to enclosing extension
38 | private var errorToast: some View {
| `- note: add @available attribute to enclosing property
39 | Group {
40 | if showToast, let message = store.errorMessage {
:
44 | .padding(.bottom, 50)
45 | .transition(.move(edge: .bottom).combined(with: .opacity))
46 | .zIndex(1)
| |- error: 'zIndex' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
47 | }
48 | }
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:41:24: error: conformance of 'Spacer' to 'View' is only available in macOS 10.15 or newer
35 | }
36 |
37 | extension RootStoreView {
| `- note: add @available attribute to enclosing extension
38 | private var errorToast: some View {
| `- note: add @available attribute to enclosing property
39 | Group {
40 | if showToast, let message = store.errorMessage {
41 | VStack {
| |- error: conformance of 'Spacer' to 'View' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
42 | Spacer()
43 | ToastView(message: message)
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:40:60: error: 'buildIf' is only available in macOS 10.15 or newer
35 | }
36 |
37 | extension RootStoreView {
| `- note: add @available attribute to enclosing extension
38 | private var errorToast: some View {
| `- note: add @available attribute to enclosing property
39 | Group {
40 | if showToast, let message = store.errorMessage {
| |- error: 'buildIf' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
41 | VStack {
42 | Spacer()
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:48:13: error: 'buildIf' is only available in macOS 10.15 or newer
35 | }
36 |
37 | extension RootStoreView {
| `- note: add @available attribute to enclosing extension
38 | private var errorToast: some View {
| `- note: add @available attribute to enclosing property
39 | Group {
40 | if showToast, let message = store.errorMessage {
:
46 | .zIndex(1)
47 | }
48 | }
| |- error: 'buildIf' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
49 | }
50 | }
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:39:15: error: conformance of 'Optional<Wrapped>' to 'View' is only available in macOS 10.15 or newer
35 | }
36 |
37 | extension RootStoreView {
| `- note: add @available attribute to enclosing extension
38 | private var errorToast: some View {
| `- note: add @available attribute to enclosing property
39 | Group {
| |- error: conformance of 'Optional<Wrapped>' to 'View' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
40 | if showToast, let message = store.errorMessage {
41 | 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:53:9: error: 'VStack' is only available in macOS 10.15 or newer
35 | }
36 |
37 | extension RootStoreView {
| `- note: add @available attribute to enclosing extension
38 | private var errorToast: some View {
39 | Group {
:
50 | }
51 |
52 | private var paymentContent: some View {
| `- note: add @available attribute to enclosing property
53 | VStack {
| |- error: 'VStack' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
54 | StoreContent()
55 | if store.isLoading {
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:53:16: error: conformance of 'Text' to 'View' is only available in macOS 10.15 or newer
35 | }
36 |
37 | extension RootStoreView {
| `- note: add @available attribute to enclosing extension
38 | private var errorToast: some View {
39 | Group {
:
50 | }
51 |
52 | private var paymentContent: some View {
| `- note: add @available attribute to enclosing property
53 | VStack {
| |- error: conformance of 'Text' to 'View' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
54 | StoreContent()
55 | if store.isLoading {
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:53:16: error: conformance of 'Text' to 'View' is only available in macOS 10.15 or newer
35 | }
36 |
37 | extension RootStoreView {
| `- note: add @available attribute to enclosing extension
38 | private var errorToast: some View {
39 | Group {
:
50 | }
51 |
52 | private var paymentContent: some View {
| `- note: add @available attribute to enclosing property
53 | VStack {
| |- error: conformance of 'Text' to 'View' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
54 | StoreContent()
55 | if store.isLoading {
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:53:16: error: conformance of 'Text' to 'View' is only available in macOS 10.15 or newer
35 | }
36 |
37 | extension RootStoreView {
| `- note: add @available attribute to enclosing extension
38 | private var errorToast: some View {
39 | Group {
:
50 | }
51 |
52 | private var paymentContent: some View {
| `- note: add @available attribute to enclosing property
53 | VStack {
| |- error: conformance of 'Text' to 'View' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
54 | StoreContent()
55 | if store.isLoading {
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:56:17: error: conformance of 'Text' to 'View' is only available in macOS 10.15 or newer
35 | }
36 |
37 | extension RootStoreView {
| `- note: add @available attribute to enclosing extension
38 | private var errorToast: some View {
39 | Group {
:
50 | }
51 |
52 | private var paymentContent: some View {
| `- note: add @available attribute to enclosing property
53 | VStack {
54 | StoreContent()
55 | if store.isLoading {
56 | ProgressView("Loading Plans...")
| |- error: conformance of 'Text' to 'View' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
57 | } else if store.availableProducts.count != 0 {
58 | ProductListView()
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:56:17: error: 'ProgressView' is only available in macOS 11.0 or newer
35 | }
36 |
37 | extension RootStoreView {
| `- note: add @available attribute to enclosing extension
38 | private var errorToast: some View {
39 | Group {
:
50 | }
51 |
52 | private var paymentContent: some View {
| `- note: add @available attribute to enclosing property
53 | VStack {
54 | StoreContent()
55 | if store.isLoading {
56 | ProgressView("Loading Plans...")
| |- error: 'ProgressView' is only available in macOS 11.0 or newer
| `- note: add 'if #available' version check
57 | } else if store.availableProducts.count != 0 {
58 | ProductListView()
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:56:17: error: 'init(_:)' is only available in macOS 11.0 or newer
35 | }
36 |
37 | extension RootStoreView {
| `- note: add @available attribute to enclosing extension
38 | private var errorToast: some View {
39 | Group {
:
50 | }
51 |
52 | private var paymentContent: some View {
| `- note: add @available attribute to enclosing property
53 | VStack {
54 | StoreContent()
55 | if store.isLoading {
56 | ProgressView("Loading Plans...")
| |- error: 'init(_:)' is only available in macOS 11.0 or newer
| `- note: add 'if #available' version check
57 | } else if store.availableProducts.count != 0 {
58 | ProductListView()
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:56:30: error: 'LocalizedStringKey' is only available in macOS 10.15 or newer
35 | }
36 |
37 | extension RootStoreView {
| `- note: add @available attribute to enclosing extension
38 | private var errorToast: some View {
39 | Group {
:
50 | }
51 |
52 | private var paymentContent: some View {
| `- note: add @available attribute to enclosing property
53 | VStack {
54 | StoreContent()
55 | if store.isLoading {
56 | ProgressView("Loading Plans...")
| |- error: 'LocalizedStringKey' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
57 | } else if store.availableProducts.count != 0 {
58 | ProductListView()
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:55:32: error: conformance of 'Text' to 'View' is only available in macOS 10.15 or newer
35 | }
36 |
37 | extension RootStoreView {
| `- note: add @available attribute to enclosing extension
38 | private var errorToast: some View {
39 | Group {
:
50 | }
51 |
52 | private var paymentContent: some View {
| `- note: add @available attribute to enclosing property
53 | VStack {
54 | StoreContent()
55 | if store.isLoading {
| |- error: conformance of 'Text' to 'View' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
56 | ProgressView("Loading Plans...")
57 | } else if store.availableProducts.count != 0 {
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:55:32: error: 'buildEither(first:)' is only available in macOS 10.15 or newer
35 | }
36 |
37 | extension RootStoreView {
| `- note: add @available attribute to enclosing extension
38 | private var errorToast: some View {
39 | Group {
:
50 | }
51 |
52 | private var paymentContent: some View {
| `- note: add @available attribute to enclosing property
53 | VStack {
54 | StoreContent()
55 | if store.isLoading {
| |- error: 'buildEither(first:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
56 | ProgressView("Loading Plans...")
57 | } else if store.availableProducts.count != 0 {
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:55:32: error: 'buildEither(first:)' is only available in macOS 10.15 or newer
35 | }
36 |
37 | extension RootStoreView {
| `- note: add @available attribute to enclosing extension
38 | private var errorToast: some View {
39 | Group {
:
50 | }
51 |
52 | private var paymentContent: some View {
| `- note: add @available attribute to enclosing property
53 | VStack {
54 | StoreContent()
55 | if store.isLoading {
| |- error: 'buildEither(first:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
56 | ProgressView("Loading Plans...")
57 | } else if store.availableProducts.count != 0 {
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:57:58: error: 'buildEither(first:)' is only available in macOS 10.15 or newer
35 | }
36 |
37 | extension RootStoreView {
| `- note: add @available attribute to enclosing extension
38 | private var errorToast: some View {
39 | Group {
:
50 | }
51 |
52 | private var paymentContent: some View {
| `- note: add @available attribute to enclosing property
53 | VStack {
54 | StoreContent()
55 | if store.isLoading {
56 | ProgressView("Loading Plans...")
57 | } else if store.availableProducts.count != 0 {
| |- error: 'buildEither(first:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
58 | ProductListView()
59 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:57:58: error: 'buildEither(second:)' is only available in macOS 10.15 or newer
35 | }
36 |
37 | extension RootStoreView {
| `- note: add @available attribute to enclosing extension
38 | private var errorToast: some View {
39 | Group {
:
50 | }
51 |
52 | private var paymentContent: some View {
| `- note: add @available attribute to enclosing property
53 | VStack {
54 | StoreContent()
55 | if store.isLoading {
56 | ProgressView("Loading Plans...")
57 | } else if store.availableProducts.count != 0 {
| |- error: 'buildEither(second:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
58 | ProductListView()
59 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:60:17: error: conformance of 'Text' to 'View' is only available in macOS 10.15 or newer
35 | }
36 |
37 | extension RootStoreView {
| `- note: add @available attribute to enclosing extension
38 | private var errorToast: some View {
39 | Group {
:
50 | }
51 |
52 | private var paymentContent: some View {
| `- note: add @available attribute to enclosing property
53 | VStack {
54 | StoreContent()
:
58 | ProductListView()
59 | } else {
60 | 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
61 | }
62 | PurchaseButtonView()
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:60:17: error: 'Text' is only available in macOS 10.15 or newer
35 | }
36 |
37 | extension RootStoreView {
| `- note: add @available attribute to enclosing extension
38 | private var errorToast: some View {
39 | Group {
:
50 | }
51 |
52 | private var paymentContent: some View {
| `- note: add @available attribute to enclosing property
53 | VStack {
54 | StoreContent()
:
58 | ProductListView()
59 | } else {
60 | Text("No Products available at this time!")
| |- error: 'Text' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
61 | }
62 | PurchaseButtonView()
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:59:20: error: conformance of 'Text' to 'View' is only available in macOS 10.15 or newer
35 | }
36 |
37 | extension RootStoreView {
| `- note: add @available attribute to enclosing extension
38 | private var errorToast: some View {
39 | Group {
:
50 | }
51 |
52 | private var paymentContent: some View {
| `- note: add @available attribute to enclosing property
53 | VStack {
54 | StoreContent()
:
57 | } else if store.availableProducts.count != 0 {
58 | ProductListView()
59 | } else {
| |- error: conformance of 'Text' to 'View' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
60 | Text("No Products available at this time!")
61 | }
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:59:20: error: 'buildEither(second:)' is only available in macOS 10.15 or newer
35 | }
36 |
37 | extension RootStoreView {
| `- note: add @available attribute to enclosing extension
38 | private var errorToast: some View {
39 | Group {
:
50 | }
51 |
52 | private var paymentContent: some View {
| `- note: add @available attribute to enclosing property
53 | VStack {
54 | StoreContent()
:
57 | } else if store.availableProducts.count != 0 {
58 | ProductListView()
59 | } else {
| |- error: 'buildEither(second:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
60 | Text("No Products available at this time!")
61 | }
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:53:16: error: conformance of '_ConditionalContent<TrueContent, FalseContent>' to 'View' is only available in macOS 10.15 or newer
35 | }
36 |
37 | extension RootStoreView {
| `- note: add @available attribute to enclosing extension
38 | private var errorToast: some View {
39 | Group {
:
50 | }
51 |
52 | private var paymentContent: some View {
| `- note: add @available attribute to enclosing property
53 | VStack {
| |- error: conformance of '_ConditionalContent<TrueContent, FalseContent>' to 'View' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
54 | StoreContent()
55 | if store.isLoading {
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:64:10: error: 'environmentObject' is only available in macOS 10.15 or newer
35 | }
36 |
37 | extension RootStoreView {
| `- note: add @available attribute to enclosing extension
38 | private var errorToast: some View {
39 | Group {
:
50 | }
51 |
52 | private var paymentContent: some View {
| `- note: add @available attribute to enclosing property
53 | VStack {
54 | StoreContent()
:
62 | PurchaseButtonView()
63 | }
64 | .environmentObject(store)
| |- error: 'environmentObject' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
65 | .onAppear {
66 | Task{ @MainActor in
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:65:10: error: 'onAppear(perform:)' is only available in macOS 10.15 or newer
35 | }
36 |
37 | extension RootStoreView {
| `- note: add @available attribute to enclosing extension
38 | private var errorToast: some View {
39 | Group {
:
50 | }
51 |
52 | private var paymentContent: some View {
| `- note: add @available attribute to enclosing property
53 | VStack {
54 | StoreContent()
:
63 | }
64 | .environmentObject(store)
65 | .onAppear {
| |- error: 'onAppear(perform:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
66 | Task{ @MainActor in
67 | await store.fetchSubscriptionPlans(apiKey: apiKey)
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:66:13: error: 'Task' is only available in macOS 10.15 or newer
35 | }
36 |
37 | extension RootStoreView {
| `- note: add @available attribute to enclosing extension
38 | private var errorToast: some View {
39 | Group {
:
50 | }
51 |
52 | private var paymentContent: some View {
| `- note: add @available attribute to enclosing property
53 | VStack {
54 | StoreContent()
:
64 | .environmentObject(store)
65 | .onAppear {
66 | Task{ @MainActor in
| |- error: 'Task' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
67 | await store.fetchSubscriptionPlans(apiKey: apiKey)
68 | await store.fetchStoreProducts()
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:66:13: error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
35 | }
36 |
37 | extension RootStoreView {
| `- note: add @available attribute to enclosing extension
38 | private var errorToast: some View {
39 | Group {
:
50 | }
51 |
52 | private var paymentContent: some View {
| `- note: add @available attribute to enclosing property
53 | VStack {
54 | StoreContent()
:
64 | .environmentObject(store)
65 | .onAppear {
66 | Task{ @MainActor in
| |- error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
67 | await store.fetchSubscriptionPlans(apiKey: apiKey)
68 | await store.fetchStoreProducts()
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:72:10: error: 'padding' is only available in macOS 10.15 or newer
35 | }
36 |
37 | extension RootStoreView {
| `- note: add @available attribute to enclosing extension
38 | private var errorToast: some View {
39 | Group {
:
50 | }
51 |
52 | private var paymentContent: some View {
| `- note: add @available attribute to enclosing property
53 | VStack {
54 | StoreContent()
:
70 | }
71 | }
72 | .padding()
| |- error: 'padding' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
73 | }
74 |
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:76:9: error: 'withAnimation' is only available in macOS 10.15 or newer
35 | }
36 |
37 | extension RootStoreView {
| `- note: add @available attribute to enclosing extension
38 | private var errorToast: some View {
39 | Group {
:
73 | }
74 |
75 | private func showToastForLimitedTime() {
| `- note: add @available attribute to enclosing instance method
76 | withAnimation {
| |- error: 'withAnimation' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
77 | showToast = true
78 | }
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:77:13: error: setter for 'showToast' is only available in macOS 10.15 or newer
35 | }
36 |
37 | extension RootStoreView {
| `- note: add @available attribute to enclosing extension
38 | private var errorToast: some View {
39 | Group {
:
73 | }
74 |
75 | private func showToastForLimitedTime() {
| `- note: add @available attribute to enclosing instance method
76 | withAnimation {
77 | showToast = true
| |- error: setter for 'showToast' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
78 | }
79 |
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:80:9: error: 'Task' is only available in macOS 10.15 or newer
35 | }
36 |
37 | extension RootStoreView {
| `- note: add @available attribute to enclosing extension
38 | private var errorToast: some View {
39 | Group {
:
73 | }
74 |
75 | private func showToastForLimitedTime() {
| `- note: add @available attribute to enclosing instance method
76 | withAnimation {
77 | showToast = true
78 | }
79 |
80 | Task {
| |- error: 'Task' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
81 | try await Task.sleep(nanoseconds: 3 * 1_000_000_000) // 3 seconds
82 | withAnimation {
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:80:9: error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
35 | }
36 |
37 | extension RootStoreView {
| `- note: add @available attribute to enclosing extension
38 | private var errorToast: some View {
39 | Group {
:
73 | }
74 |
75 | private func showToastForLimitedTime() {
| `- note: add @available attribute to enclosing instance method
76 | withAnimation {
77 | showToast = true
78 | }
79 |
80 | Task {
| |- error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
81 | try await Task.sleep(nanoseconds: 3 * 1_000_000_000) // 3 seconds
82 | withAnimation {
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:81:23: error: 'Task' is only available in macOS 10.15 or newer
35 | }
36 |
37 | extension RootStoreView {
| `- note: add @available attribute to enclosing extension
38 | private var errorToast: some View {
39 | Group {
:
73 | }
74 |
75 | private func showToastForLimitedTime() {
| `- note: add @available attribute to enclosing instance method
76 | withAnimation {
77 | showToast = true
:
79 |
80 | Task {
81 | 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
82 | withAnimation {
83 | showToast = false
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:81:28: error: 'sleep(nanoseconds:)' is only available in macOS 10.15 or newer
35 | }
36 |
37 | extension RootStoreView {
| `- note: add @available attribute to enclosing extension
38 | private var errorToast: some View {
39 | Group {
:
73 | }
74 |
75 | private func showToastForLimitedTime() {
| `- note: add @available attribute to enclosing instance method
76 | withAnimation {
77 | showToast = true
:
79 |
80 | Task {
81 | 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
82 | withAnimation {
83 | showToast = false
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:82:13: error: 'withAnimation' is only available in macOS 10.15 or newer
35 | }
36 |
37 | extension RootStoreView {
| `- note: add @available attribute to enclosing extension
38 | private var errorToast: some View {
39 | Group {
:
73 | }
74 |
75 | private func showToastForLimitedTime() {
| `- note: add @available attribute to enclosing instance method
76 | withAnimation {
77 | showToast = true
:
80 | Task {
81 | try await Task.sleep(nanoseconds: 3 * 1_000_000_000) // 3 seconds
82 | withAnimation {
| |- error: 'withAnimation' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
83 | showToast = false
84 | }
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:83:17: error: setter for 'showToast' is only available in macOS 10.15 or newer
35 | }
36 |
37 | extension RootStoreView {
| `- note: add @available attribute to enclosing extension
38 | private var errorToast: some View {
39 | Group {
:
73 | }
74 |
75 | private func showToastForLimitedTime() {
| `- note: add @available attribute to enclosing instance method
76 | withAnimation {
77 | showToast = true
:
81 | try await Task.sleep(nanoseconds: 3 * 1_000_000_000) // 3 seconds
82 | withAnimation {
83 | showToast = false
| |- error: setter for 'showToast' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
84 | }
85 | store.errorMessage = nil
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:85:13: error: setter for 'errorMessage' is only available in macOS 10.15 or newer
35 | }
36 |
37 | extension RootStoreView {
| `- note: add @available attribute to enclosing extension
38 | private var errorToast: some View {
39 | Group {
:
73 | }
74 |
75 | private func showToastForLimitedTime() {
| `- note: add @available attribute to enclosing instance method
76 | withAnimation {
77 | showToast = true
:
83 | showToast = false
84 | }
85 | store.errorMessage = nil
| |- error: setter for 'errorMessage' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
86 | }
87 | }
[8/14] 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 | if(productIds.isEmpty) {
16 | throw StoreError.noProducts
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/SKProductStore.swift:30: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 |
:
28 | }
29 |
30 | func sortByPrice(_ products: [Product]) -> [Product] {
| | `- error: 'Product' is only available in macOS 12.0 or newer
| `- note: add @available attribute to enclosing instance method
31 | products.sorted(by: {return $0.price < $1.price})
32 | }
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/SKProductStore.swift:30: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 |
:
28 | }
29 |
30 | func sortByPrice(_ products: [Product]) -> [Product] {
| | `- error: 'Product' is only available in macOS 12.0 or newer
| `- note: add @available attribute to enclosing instance method
31 | products.sorted(by: {return $0.price < $1.price})
32 | }
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/SKProductStore.swift:100: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 |
:
98 | }
99 |
100 | 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
101 | if let product = storeProducts.first(where: { $0.id == transaction.productID }) {
102 | return product.subscription?.subscriptionGroupID
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/SKProductStore.swift:107: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 |
:
105 | }
106 |
107 | 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
108 | switch result {
109 | case .unverified:
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/SKProductStore.swift:116: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 |
:
114 | }
115 |
116 | 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
117 | return storeProducts.first(where: { $0.id == productId })
118 | }
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/SKProductStore.swift:116: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 |
:
114 | }
115 |
116 | 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
117 | return storeProducts.first(where: { $0.id == productId })
118 | }
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/SKProductStore.swift:19: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 | if(productIds.isEmpty) {
16 | throw StoreError.noProducts
17 | }
18 | do {
19 | 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
20 | if allStoreProducts.count == 0 {
21 | throw StoreError.noProductsInStore
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/SKProductStore.swift:19: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 | if(productIds.isEmpty) {
16 | throw StoreError.noProducts
17 | }
18 | do {
19 | 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
20 | if allStoreProducts.count == 0 {
21 | throw StoreError.noProductsInStore
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/SKProductStore.swift:84: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 |
:
42 | }
43 |
44 | func mapTransactionToDetails(for transaction: Transaction, with userId: String) -> TransactionDetails {
| `- note: add @available attribute to enclosing instance method
45 | /*
46 | "userId" : [USER_LOGIN_ID],
:
82 | originalPurchaseDate: transaction.originalPurchaseDate.timeIntervalSince1970,
83 | originalTransactionId: transaction.originalID,
84 | price: transaction.price ?? Decimal(0),
| |- error: 'price' is only available in macOS 12.0 or newer
| `- note: add 'if #available' version check
85 | productId: transaction.productID,
86 | purchaseDate: transaction.purchaseDate.timeIntervalSince1970,
error: emit-module command failed with exit code 1 (use -v to see invocation)
[9/14] Compiling IosIapStore SubscriptionPlan.swift
[10/14] Compiling IosIapStore TransactionDetails.swift
[11/14] Emitting module IosIapStore
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:16:34: error: 'Transaction' is only available in macOS 12.0 or newer
14 | }
15 |
16 | typealias Transaction = StoreKit.Transaction
| | `- error: 'Transaction' is only available in macOS 12.0 or newer
| `- note: add @available attribute to enclosing type alias
17 | typealias RenewalInfo = StoreKit.Product.SubscriptionInfo.RenewalInfo
18 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:17:34: error: 'Product' is only available in macOS 12.0 or newer
15 |
16 | typealias Transaction = StoreKit.Transaction
17 | 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
18 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
19 |
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:18:35: error: 'Product' is only available in macOS 12.0 or newer
16 | typealias Transaction = StoreKit.Transaction
17 | typealias RenewalInfo = StoreKit.Product.SubscriptionInfo.RenewalInfo
18 | 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
19 |
20 | class RootStore: ObservableObject {
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:21:6: error: 'init(wrappedValue:_:store:)' is only available in macOS 11.0 or newer
18 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
19 |
20 | class RootStore: ObservableObject {
| `- note: add @available attribute to enclosing class
21 | @AppStorage("subscribed") private var isSubscribed: Bool = false
| `- error: 'init(wrappedValue:_:store:)' is only available in macOS 11.0 or newer
22 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
23 | @Published var isLoading = true
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:21:6: error: 'AppStorage' is only available in macOS 11.0 or newer
18 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
19 |
20 | class RootStore: ObservableObject {
| `- note: add @available attribute to enclosing class
21 | @AppStorage("subscribed") private var isSubscribed: Bool = false
| `- error: 'AppStorage' is only available in macOS 11.0 or newer
22 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
23 | @Published var isLoading = true
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:22:6: error: 'Published' is only available in macOS 10.15 or newer
18 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
19 |
20 | class RootStore: ObservableObject {
| `- note: add @available attribute to enclosing class
21 | @AppStorage("subscribed") private var isSubscribed: Bool = false
22 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
| `- error: 'Published' is only available in macOS 10.15 or newer
23 | @Published var isLoading = true
24 | @Published var errorMessage: String?
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:23:6: error: 'Published' is only available in macOS 10.15 or newer
18 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
19 |
20 | class RootStore: ObservableObject {
| `- note: add @available attribute to enclosing class
21 | @AppStorage("subscribed") private var isSubscribed: Bool = false
22 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
23 | @Published var isLoading = true
| `- error: 'Published' is only available in macOS 10.15 or newer
24 | @Published var errorMessage: String?
25 | @Published private(set) var storeProducts: [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
18 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
19 |
20 | class RootStore: ObservableObject {
| `- note: add @available attribute to enclosing class
21 | @AppStorage("subscribed") private var isSubscribed: Bool = false
22 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
23 | @Published var isLoading = true
24 | @Published var errorMessage: String?
| `- error: 'Published' is only available in macOS 10.15 or newer
25 | @Published private(set) var storeProducts: [Product] = []
26 | @Published var selectedProduct: SubscriptionPlan?
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:25:49: error: 'Product' is only available in macOS 12.0 or newer
18 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
19 |
20 | class RootStore: ObservableObject {
| `- note: add @available attribute to enclosing class
21 | @AppStorage("subscribed") private var isSubscribed: Bool = false
22 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
23 | @Published var isLoading = true
24 | @Published var errorMessage: String?
25 | @Published private(set) var storeProducts: [Product] = []
| `- error: 'Product' is only available in macOS 12.0 or newer
26 | @Published var selectedProduct: SubscriptionPlan?
27 | @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
18 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
19 |
20 | class RootStore: ObservableObject {
| `- note: add @available attribute to enclosing class
21 | @AppStorage("subscribed") private var isSubscribed: Bool = false
22 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
23 | @Published var isLoading = true
24 | @Published var errorMessage: String?
25 | @Published private(set) var storeProducts: [Product] = []
| `- error: 'Published' is only available in macOS 10.15 or newer
26 | @Published var selectedProduct: SubscriptionPlan?
27 | @Published private(set) var purchasedSubscriptions: [Product] = []
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:26:6: error: 'Published' is only available in macOS 10.15 or newer
18 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
19 |
20 | class RootStore: ObservableObject {
| `- note: add @available attribute to enclosing class
21 | @AppStorage("subscribed") private var isSubscribed: Bool = false
22 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
24 | @Published var errorMessage: String?
25 | @Published private(set) var storeProducts: [Product] = []
26 | @Published var selectedProduct: SubscriptionPlan?
| `- error: 'Published' is only available in macOS 10.15 or newer
27 | @Published private(set) var purchasedSubscriptions: [Product] = []
28 | @Published private(set) var availableProducts: [SubscriptionPlan] = []
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:27:58: error: 'Product' is only available in macOS 12.0 or newer
18 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
19 |
20 | class RootStore: ObservableObject {
| `- note: add @available attribute to enclosing class
21 | @AppStorage("subscribed") private var isSubscribed: Bool = false
22 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
25 | @Published private(set) var storeProducts: [Product] = []
26 | @Published var selectedProduct: SubscriptionPlan?
27 | @Published private(set) var purchasedSubscriptions: [Product] = []
| `- error: 'Product' is only available in macOS 12.0 or newer
28 | @Published private(set) var availableProducts: [SubscriptionPlan] = []
29 | @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
18 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
19 |
20 | class RootStore: ObservableObject {
| `- note: add @available attribute to enclosing class
21 | @AppStorage("subscribed") private var isSubscribed: Bool = false
22 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
25 | @Published private(set) var storeProducts: [Product] = []
26 | @Published var selectedProduct: SubscriptionPlan?
27 | @Published private(set) var purchasedSubscriptions: [Product] = []
| `- error: 'Published' is only available in macOS 10.15 or newer
28 | @Published private(set) var availableProducts: [SubscriptionPlan] = []
29 | @Published private(set) var productIds: [String] = []
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:28:6: error: 'Published' is only available in macOS 10.15 or newer
18 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
19 |
20 | class RootStore: ObservableObject {
| `- note: add @available attribute to enclosing class
21 | @AppStorage("subscribed") private var isSubscribed: Bool = false
22 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
26 | @Published var selectedProduct: SubscriptionPlan?
27 | @Published private(set) var purchasedSubscriptions: [Product] = []
28 | @Published private(set) var availableProducts: [SubscriptionPlan] = []
| `- error: 'Published' is only available in macOS 10.15 or newer
29 | @Published private(set) var productIds: [String] = []
30 | @Published private(set) var subscriptionGroupStatus: RenewalState?
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:29:6: error: 'Published' is only available in macOS 10.15 or newer
18 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
19 |
20 | class RootStore: ObservableObject {
| `- note: add @available attribute to enclosing class
21 | @AppStorage("subscribed") private var isSubscribed: Bool = false
22 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
27 | @Published private(set) var purchasedSubscriptions: [Product] = []
28 | @Published private(set) var availableProducts: [SubscriptionPlan] = []
29 | @Published private(set) var productIds: [String] = []
| `- error: 'Published' is only available in macOS 10.15 or newer
30 | @Published private(set) var subscriptionGroupStatus: RenewalState?
31 |
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:30:6: error: 'Published' is only available in macOS 10.15 or newer
18 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
19 |
20 | class RootStore: ObservableObject {
| `- note: add @available attribute to enclosing class
21 | @AppStorage("subscribed") private var isSubscribed: Bool = false
22 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
28 | @Published private(set) var availableProducts: [SubscriptionPlan] = []
29 | @Published private(set) var productIds: [String] = []
30 | @Published private(set) var subscriptionGroupStatus: RenewalState?
| `- error: 'Published' is only available in macOS 10.15 or newer
31 |
32 | var updateListenerTask: Task<Void, Error>? = nil
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:32:29: error: 'Task' is only available in macOS 10.15 or newer
18 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
19 |
20 | class RootStore: ObservableObject {
| `- note: add @available attribute to enclosing class
21 | @AppStorage("subscribed") private var isSubscribed: Bool = false
22 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
30 | @Published private(set) var subscriptionGroupStatus: RenewalState?
31 |
32 | var updateListenerTask: Task<Void, Error>? = nil
| `- error: 'Task' is only available in macOS 10.15 or newer
33 |
34 | let sk2Store = SKProductStore()
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:202:37: error: 'Task' is only available in macOS 10.15 or newer
18 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
19 |
20 | class RootStore: ObservableObject {
| `- note: add @available attribute to enclosing class
21 | @AppStorage("subscribed") private var isSubscribed: Bool = false
22 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
200 | }
201 |
202 | func listenForTransactions() -> Task<Void, Error> {
| | `- error: 'Task' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
203 | return Task.detached {
204 | for await result in Transaction.updates {
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:20:18: error: 'ObservableObject' is only available in macOS 10.15 or newer
18 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
19 |
20 | class RootStore: ObservableObject {
| | `- error: 'ObservableObject' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing class
21 | @AppStorage("subscribed") private var isSubscribed: Bool = false
22 | @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 | if(productIds.isEmpty) {
16 | throw StoreError.noProducts
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/SKProductStore.swift:30: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 |
:
28 | }
29 |
30 | func sortByPrice(_ products: [Product]) -> [Product] {
| | `- error: 'Product' is only available in macOS 12.0 or newer
| `- note: add @available attribute to enclosing instance method
31 | products.sorted(by: {return $0.price < $1.price})
32 | }
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/SKProductStore.swift:30: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 |
:
28 | }
29 |
30 | func sortByPrice(_ products: [Product]) -> [Product] {
| | `- error: 'Product' is only available in macOS 12.0 or newer
| `- note: add @available attribute to enclosing instance method
31 | products.sorted(by: {return $0.price < $1.price})
32 | }
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/SKProductStore.swift:100: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 |
:
98 | }
99 |
100 | 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
101 | if let product = storeProducts.first(where: { $0.id == transaction.productID }) {
102 | return product.subscription?.subscriptionGroupID
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/SKProductStore.swift:107: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 |
:
105 | }
106 |
107 | 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
108 | switch result {
109 | case .unverified:
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/SKProductStore.swift:116: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 |
:
114 | }
115 |
116 | 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
117 | return storeProducts.first(where: { $0.id == productId })
118 | }
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/SKProductStore.swift:116: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 |
:
114 | }
115 |
116 | 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
117 | return storeProducts.first(where: { $0.id == productId })
118 | }
/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:24: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
:
22 | }
23 |
24 | public var body: some View {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing property
25 | ZStack {
26 | paymentContent
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:38:34: error: 'View' is only available in macOS 10.15 or newer
35 | }
36 |
37 | extension RootStoreView {
| `- note: add @available attribute to enclosing extension
38 | private var errorToast: some View {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing property
39 | Group {
40 | if showToast, let message = store.errorMessage {
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/RootStoreView.swift:52:38: error: 'View' is only available in macOS 10.15 or newer
35 | }
36 |
37 | extension RootStoreView {
| `- note: add @available attribute to enclosing extension
38 | private var errorToast: some View {
39 | Group {
:
50 | }
51 |
52 | private var paymentContent: some View {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing property
53 | VStack {
54 | 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/StoreContent.swift:37:36: error: 'View' is only available in macOS 10.15 or newer
34 | }
35 |
36 | extension StoreContent {
| `- note: add @available attribute to enclosing extension
37 | private var cancelButton: some View {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing property
38 | Button(action: {
39 | store.openSubscriptionSettings()
/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)
[12/14] 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 {
[13/14] Compiling IosIapStore RootStore.swift
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:16:34: error: 'Transaction' is only available in macOS 12.0 or newer
14 | }
15 |
16 | typealias Transaction = StoreKit.Transaction
| | `- error: 'Transaction' is only available in macOS 12.0 or newer
| `- note: add @available attribute to enclosing type alias
17 | typealias RenewalInfo = StoreKit.Product.SubscriptionInfo.RenewalInfo
18 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:17:34: error: 'Product' is only available in macOS 12.0 or newer
15 |
16 | typealias Transaction = StoreKit.Transaction
17 | 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
18 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
19 |
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:18:35: error: 'Product' is only available in macOS 12.0 or newer
16 | typealias Transaction = StoreKit.Transaction
17 | typealias RenewalInfo = StoreKit.Product.SubscriptionInfo.RenewalInfo
18 | 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
19 |
20 | class RootStore: ObservableObject {
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:21:6: error: 'init(wrappedValue:_:store:)' is only available in macOS 11.0 or newer
18 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
19 |
20 | class RootStore: ObservableObject {
| `- note: add @available attribute to enclosing class
21 | @AppStorage("subscribed") private var isSubscribed: Bool = false
| `- error: 'init(wrappedValue:_:store:)' is only available in macOS 11.0 or newer
22 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
23 | @Published var isLoading = true
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:21:6: error: 'AppStorage' is only available in macOS 11.0 or newer
18 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
19 |
20 | class RootStore: ObservableObject {
| `- note: add @available attribute to enclosing class
21 | @AppStorage("subscribed") private var isSubscribed: Bool = false
| `- error: 'AppStorage' is only available in macOS 11.0 or newer
22 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
23 | @Published var isLoading = true
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:22:6: error: 'Published' is only available in macOS 10.15 or newer
18 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
19 |
20 | class RootStore: ObservableObject {
| `- note: add @available attribute to enclosing class
21 | @AppStorage("subscribed") private var isSubscribed: Bool = false
22 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
| `- error: 'Published' is only available in macOS 10.15 or newer
23 | @Published var isLoading = true
24 | @Published var errorMessage: String?
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:23:6: error: 'Published' is only available in macOS 10.15 or newer
18 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
19 |
20 | class RootStore: ObservableObject {
| `- note: add @available attribute to enclosing class
21 | @AppStorage("subscribed") private var isSubscribed: Bool = false
22 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
23 | @Published var isLoading = true
| `- error: 'Published' is only available in macOS 10.15 or newer
24 | @Published var errorMessage: String?
25 | @Published private(set) var storeProducts: [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
18 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
19 |
20 | class RootStore: ObservableObject {
| `- note: add @available attribute to enclosing class
21 | @AppStorage("subscribed") private var isSubscribed: Bool = false
22 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
23 | @Published var isLoading = true
24 | @Published var errorMessage: String?
| `- error: 'Published' is only available in macOS 10.15 or newer
25 | @Published private(set) var storeProducts: [Product] = []
26 | @Published var selectedProduct: SubscriptionPlan?
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:25:49: error: 'Product' is only available in macOS 12.0 or newer
18 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
19 |
20 | class RootStore: ObservableObject {
| `- note: add @available attribute to enclosing class
21 | @AppStorage("subscribed") private var isSubscribed: Bool = false
22 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
23 | @Published var isLoading = true
24 | @Published var errorMessage: String?
25 | @Published private(set) var storeProducts: [Product] = []
| `- error: 'Product' is only available in macOS 12.0 or newer
26 | @Published var selectedProduct: SubscriptionPlan?
27 | @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
18 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
19 |
20 | class RootStore: ObservableObject {
| `- note: add @available attribute to enclosing class
21 | @AppStorage("subscribed") private var isSubscribed: Bool = false
22 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
23 | @Published var isLoading = true
24 | @Published var errorMessage: String?
25 | @Published private(set) var storeProducts: [Product] = []
| `- error: 'Published' is only available in macOS 10.15 or newer
26 | @Published var selectedProduct: SubscriptionPlan?
27 | @Published private(set) var purchasedSubscriptions: [Product] = []
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:26:6: error: 'Published' is only available in macOS 10.15 or newer
18 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
19 |
20 | class RootStore: ObservableObject {
| `- note: add @available attribute to enclosing class
21 | @AppStorage("subscribed") private var isSubscribed: Bool = false
22 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
24 | @Published var errorMessage: String?
25 | @Published private(set) var storeProducts: [Product] = []
26 | @Published var selectedProduct: SubscriptionPlan?
| `- error: 'Published' is only available in macOS 10.15 or newer
27 | @Published private(set) var purchasedSubscriptions: [Product] = []
28 | @Published private(set) var availableProducts: [SubscriptionPlan] = []
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:27:58: error: 'Product' is only available in macOS 12.0 or newer
18 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
19 |
20 | class RootStore: ObservableObject {
| `- note: add @available attribute to enclosing class
21 | @AppStorage("subscribed") private var isSubscribed: Bool = false
22 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
25 | @Published private(set) var storeProducts: [Product] = []
26 | @Published var selectedProduct: SubscriptionPlan?
27 | @Published private(set) var purchasedSubscriptions: [Product] = []
| `- error: 'Product' is only available in macOS 12.0 or newer
28 | @Published private(set) var availableProducts: [SubscriptionPlan] = []
29 | @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
18 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
19 |
20 | class RootStore: ObservableObject {
| `- note: add @available attribute to enclosing class
21 | @AppStorage("subscribed") private var isSubscribed: Bool = false
22 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
25 | @Published private(set) var storeProducts: [Product] = []
26 | @Published var selectedProduct: SubscriptionPlan?
27 | @Published private(set) var purchasedSubscriptions: [Product] = []
| `- error: 'Published' is only available in macOS 10.15 or newer
28 | @Published private(set) var availableProducts: [SubscriptionPlan] = []
29 | @Published private(set) var productIds: [String] = []
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:28:6: error: 'Published' is only available in macOS 10.15 or newer
18 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
19 |
20 | class RootStore: ObservableObject {
| `- note: add @available attribute to enclosing class
21 | @AppStorage("subscribed") private var isSubscribed: Bool = false
22 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
26 | @Published var selectedProduct: SubscriptionPlan?
27 | @Published private(set) var purchasedSubscriptions: [Product] = []
28 | @Published private(set) var availableProducts: [SubscriptionPlan] = []
| `- error: 'Published' is only available in macOS 10.15 or newer
29 | @Published private(set) var productIds: [String] = []
30 | @Published private(set) var subscriptionGroupStatus: RenewalState?
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:29:6: error: 'Published' is only available in macOS 10.15 or newer
18 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
19 |
20 | class RootStore: ObservableObject {
| `- note: add @available attribute to enclosing class
21 | @AppStorage("subscribed") private var isSubscribed: Bool = false
22 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
27 | @Published private(set) var purchasedSubscriptions: [Product] = []
28 | @Published private(set) var availableProducts: [SubscriptionPlan] = []
29 | @Published private(set) var productIds: [String] = []
| `- error: 'Published' is only available in macOS 10.15 or newer
30 | @Published private(set) var subscriptionGroupStatus: RenewalState?
31 |
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:30:6: error: 'Published' is only available in macOS 10.15 or newer
18 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
19 |
20 | class RootStore: ObservableObject {
| `- note: add @available attribute to enclosing class
21 | @AppStorage("subscribed") private var isSubscribed: Bool = false
22 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
28 | @Published private(set) var availableProducts: [SubscriptionPlan] = []
29 | @Published private(set) var productIds: [String] = []
30 | @Published private(set) var subscriptionGroupStatus: RenewalState?
| `- error: 'Published' is only available in macOS 10.15 or newer
31 |
32 | var updateListenerTask: Task<Void, Error>? = nil
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:32:29: error: 'Task' is only available in macOS 10.15 or newer
18 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
19 |
20 | class RootStore: ObservableObject {
| `- note: add @available attribute to enclosing class
21 | @AppStorage("subscribed") private var isSubscribed: Bool = false
22 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
30 | @Published private(set) var subscriptionGroupStatus: RenewalState?
31 |
32 | var updateListenerTask: Task<Void, Error>? = nil
| `- error: 'Task' is only available in macOS 10.15 or newer
33 |
34 | let sk2Store = SKProductStore()
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:202:37: error: 'Task' is only available in macOS 10.15 or newer
18 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
19 |
20 | class RootStore: ObservableObject {
| `- note: add @available attribute to enclosing class
21 | @AppStorage("subscribed") private var isSubscribed: Bool = false
22 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
200 | }
201 |
202 | func listenForTransactions() -> Task<Void, Error> {
| | `- error: 'Task' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
203 | return Task.detached {
204 | for await result in Transaction.updates {
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:20:18: error: 'ObservableObject' is only available in macOS 10.15 or newer
18 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
19 |
20 | class RootStore: ObservableObject {
| | `- error: 'ObservableObject' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing class
21 | @AppStorage("subscribed") private var isSubscribed: Bool = false
22 | @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:42:20: error: 'SHA256' is only available in macOS 10.15 or newer
18 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
19 |
20 | class RootStore: ObservableObject {
| `- note: add @available attribute to enclosing class
21 | @AppStorage("subscribed") private var isSubscribed: Bool = false
22 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
38 | let apiKey: String
39 |
40 | private var uuid : UUID {
| `- note: add @available attribute to enclosing property
41 | let data = Data(userId.utf8)
42 | let hash = SHA256.hash(data: data)
| |- error: 'SHA256' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
43 | let hashBytes = Array(hash)
44 |
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:42:27: error: 'hash(data:)' is only available in macOS 10.15 or newer
18 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
19 |
20 | class RootStore: ObservableObject {
| `- note: add @available attribute to enclosing class
21 | @AppStorage("subscribed") private var isSubscribed: Bool = false
22 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
38 | let apiKey: String
39 |
40 | private var uuid : UUID {
| `- note: add @available attribute to enclosing property
41 | let data = Data(userId.utf8)
42 | let hash = SHA256.hash(data: data)
| |- error: 'hash(data:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
43 | let hashBytes = Array(hash)
44 |
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:43:25: error: conformance of 'SHA256Digest' to 'Sequence' is only available in macOS 10.15 or newer
18 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
19 |
20 | class RootStore: ObservableObject {
| `- note: add @available attribute to enclosing class
21 | @AppStorage("subscribed") private var isSubscribed: Bool = false
22 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
38 | let apiKey: String
39 |
40 | private var uuid : UUID {
| `- note: add @available attribute to enclosing property
41 | let data = Data(userId.utf8)
42 | let hash = SHA256.hash(data: data)
43 | let hashBytes = Array(hash)
| |- error: conformance of 'SHA256Digest' to 'Sequence' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
44 |
45 | return UUID(uuid: (
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:60:29: error: 'cancel()' is only available in macOS 10.15 or newer
18 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
19 |
20 | class RootStore: ObservableObject {
| `- note: add @available attribute to enclosing class
21 | @AppStorage("subscribed") private var isSubscribed: Bool = false
22 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
58 | }
59 | deinit {
60 | updateListenerTask?.cancel()
| |- error: 'cancel()' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
61 | }
62 |
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:65:9: error: setter for 'availableProducts' is only available in macOS 10.15 or newer
18 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
19 |
20 | class RootStore: ObservableObject {
| `- note: add @available attribute to enclosing class
21 | @AppStorage("subscribed") private var isSubscribed: Bool = false
22 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
62 |
63 | @MainActor
64 | private func updateAvaiableProducts() {
| `- note: add @available attribute to enclosing instance method
65 | availableProducts = apiSubscriptionPlans.filter { plan in
| |- error: setter for 'availableProducts' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
66 | storeProducts.contains { $0.id == plan.productId }
67 | }
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:71:9: error: setter for 'productIds' is only available in macOS 10.15 or newer
18 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
19 |
20 | class RootStore: ObservableObject {
| `- note: add @available attribute to enclosing class
21 | @AppStorage("subscribed") private var isSubscribed: Bool = false
22 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
68 | }
69 | @MainActor
70 | private func updateProductIds() {
| `- note: add @available attribute to enclosing instance method
71 | productIds = apiSubscriptionPlans.map { $0.productId };
| |- error: setter for 'productIds' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
72 | }
73 |
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:78:13: error: setter for 'apiSubscriptionPlans' is only available in macOS 10.15 or newer
18 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
19 |
20 | class RootStore: ObservableObject {
| `- note: add @available attribute to enclosing class
21 | @AppStorage("subscribed") private var isSubscribed: Bool = false
22 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
74 |
75 | @MainActor
76 | func fetchSubscriptionPlans(apiKey: String) async {
| `- note: add @available attribute to enclosing instance method
77 | do {
78 | 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
79 | self.updateProductIds();
80 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:81:13: error: setter for 'errorMessage' is only available in macOS 10.15 or newer
18 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
19 |
20 | class RootStore: ObservableObject {
| `- note: add @available attribute to enclosing class
21 | @AppStorage("subscribed") private var isSubscribed: Bool = false
22 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
74 |
75 | @MainActor
76 | func fetchSubscriptionPlans(apiKey: String) async {
| `- note: add @available attribute to enclosing instance method
77 | do {
78 | self.apiSubscriptionPlans = try await subscriptionPlanService.loadSubscriptionPlans(apiKey: apiKey)
79 | self.updateProductIds();
80 | } catch {
81 | 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
82 | self.isLoading = false
83 | print("fetchSubscriptionPlans - \(error)")
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:82:13: error: setter for 'isLoading' is only available in macOS 10.15 or newer
18 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
19 |
20 | class RootStore: ObservableObject {
| `- note: add @available attribute to enclosing class
21 | @AppStorage("subscribed") private var isSubscribed: Bool = false
22 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
74 |
75 | @MainActor
76 | func fetchSubscriptionPlans(apiKey: String) async {
| `- note: add @available attribute to enclosing instance method
77 | do {
78 | self.apiSubscriptionPlans = try await subscriptionPlanService.loadSubscriptionPlans(apiKey: apiKey)
:
80 | } catch {
81 | self.errorMessage = "Failed to load subscription plans: \(error.localizedDescription)"
82 | self.isLoading = false
| |- error: setter for 'isLoading' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
83 | print("fetchSubscriptionPlans - \(error)")
84 | }
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:90:13: error: setter for 'errorMessage' is only available in macOS 10.15 or newer
18 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
19 |
20 | class RootStore: ObservableObject {
| `- note: add @available attribute to enclosing class
21 | @AppStorage("subscribed") private var isSubscribed: Bool = false
22 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
86 |
87 | @MainActor
88 | func fetchStoreProducts() async {
| `- note: add @available attribute to enclosing instance method
89 | if(productIds.isEmpty) {
90 | errorMessage = "No Products Ids available."
| |- error: setter for 'errorMessage' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
91 | self.isLoading = false
92 | return
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:91:13: error: setter for 'isLoading' is only available in macOS 10.15 or newer
18 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
19 |
20 | class RootStore: ObservableObject {
| `- note: add @available attribute to enclosing class
21 | @AppStorage("subscribed") private var isSubscribed: Bool = false
22 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
86 |
87 | @MainActor
88 | func fetchStoreProducts() async {
| `- note: add @available attribute to enclosing instance method
89 | if(productIds.isEmpty) {
90 | errorMessage = "No Products Ids available."
91 | self.isLoading = false
| |- error: setter for 'isLoading' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
92 | return
93 | }
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:97:13: error: setter for 'storeProducts' is only available in macOS 10.15 or newer
18 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
19 |
20 | class RootStore: ObservableObject {
| `- note: add @available attribute to enclosing class
21 | @AppStorage("subscribed") private var isSubscribed: Bool = false
22 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
86 |
87 | @MainActor
88 | func fetchStoreProducts() async {
| `- note: add @available attribute to enclosing instance method
89 | if(productIds.isEmpty) {
90 | errorMessage = "No Products Ids available."
:
95 | do {
96 | let sk2Products = try await sk2Store.fetchProductsFromAppStore(for: productIds)
97 | storeProducts = sk2Products
| |- error: setter for 'storeProducts' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
98 | self.updateAvaiableProducts();
99 | self.isLoading = false
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:99:13: error: setter for 'isLoading' is only available in macOS 10.15 or newer
18 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
19 |
20 | class RootStore: ObservableObject {
| `- note: add @available attribute to enclosing class
21 | @AppStorage("subscribed") private var isSubscribed: Bool = false
22 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
86 |
87 | @MainActor
88 | func fetchStoreProducts() async {
| `- note: add @available attribute to enclosing instance method
89 | if(productIds.isEmpty) {
90 | errorMessage = "No Products Ids available."
:
97 | storeProducts = sk2Products
98 | self.updateAvaiableProducts();
99 | self.isLoading = false
| |- error: setter for 'isLoading' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
100 | } catch StoreError.noProductsInStore {
101 | let errMsg = "Got 0 products in App store."
/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
18 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
19 |
20 | class RootStore: ObservableObject {
| `- note: add @available attribute to enclosing class
21 | @AppStorage("subscribed") private var isSubscribed: Bool = false
22 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
86 |
87 | @MainActor
88 | func fetchStoreProducts() async {
| `- note: add @available attribute to enclosing instance method
89 | if(productIds.isEmpty) {
90 | errorMessage = "No Products Ids available."
:
100 | } catch StoreError.noProductsInStore {
101 | let errMsg = "Got 0 products in App store."
102 | errorMessage = errMsg
| |- error: setter for 'errorMessage' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
103 | self.isLoading = false
104 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:103:13: error: setter for 'isLoading' is only available in macOS 10.15 or newer
18 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
19 |
20 | class RootStore: ObservableObject {
| `- note: add @available attribute to enclosing class
21 | @AppStorage("subscribed") private var isSubscribed: Bool = false
22 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
86 |
87 | @MainActor
88 | func fetchStoreProducts() async {
| `- note: add @available attribute to enclosing instance method
89 | if(productIds.isEmpty) {
90 | errorMessage = "No Products Ids available."
:
101 | let errMsg = "Got 0 products in App store."
102 | errorMessage = errMsg
103 | self.isLoading = false
| |- error: setter for 'isLoading' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
104 | } catch {
105 | let errMsg = "Failed to fetch App Store products: \(error.localizedDescription)"
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:106:13: error: setter for 'errorMessage' is only available in macOS 10.15 or newer
18 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
19 |
20 | class RootStore: ObservableObject {
| `- note: add @available attribute to enclosing class
21 | @AppStorage("subscribed") private var isSubscribed: Bool = false
22 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
86 |
87 | @MainActor
88 | func fetchStoreProducts() async {
| `- note: add @available attribute to enclosing instance method
89 | if(productIds.isEmpty) {
90 | errorMessage = "No Products Ids available."
:
104 | } catch {
105 | let errMsg = "Failed to fetch App Store products: \(error.localizedDescription)"
106 | errorMessage = errMsg
| |- error: setter for 'errorMessage' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
107 | print("fetchStoreProducts - \(error)")
108 | self.isLoading = false
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:108:13: error: setter for 'isLoading' is only available in macOS 10.15 or newer
18 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
19 |
20 | class RootStore: ObservableObject {
| `- note: add @available attribute to enclosing class
21 | @AppStorage("subscribed") private var isSubscribed: Bool = false
22 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
86 |
87 | @MainActor
88 | func fetchStoreProducts() async {
| `- note: add @available attribute to enclosing instance method
89 | if(productIds.isEmpty) {
90 | errorMessage = "No Products Ids available."
:
106 | errorMessage = errMsg
107 | print("fetchStoreProducts - \(error)")
108 | self.isLoading = false
| |- error: setter for 'isLoading' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
109 | }
110 | }
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:115:13: error: setter for 'errorMessage' is only available in macOS 10.15 or newer
18 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
19 |
20 | class RootStore: ObservableObject {
| `- note: add @available attribute to enclosing class
21 | @AppStorage("subscribed") private var isSubscribed: Bool = false
22 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
111 |
112 | @MainActor
113 | func purchaseProduct(with productId: String) async {
| `- note: add @available attribute to enclosing instance method
114 | guard let product = storeProducts.first(where: { $0.id == productId }) else {
115 | 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
116 | return
117 | }
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:119:44: error: 'purchase(options:)' is only available in macOS 12.0 or newer
18 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
19 |
20 | class RootStore: ObservableObject {
| `- note: add @available attribute to enclosing class
21 | @AppStorage("subscribed") private var isSubscribed: Bool = false
22 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
111 |
112 | @MainActor
113 | func purchaseProduct(with productId: String) async {
| `- note: add @available attribute to enclosing instance method
114 | guard let product = storeProducts.first(where: { $0.id == productId }) else {
115 | errorMessage = "Product not found in App Store"
:
117 | }
118 | do {
119 | let result = try await product.purchase(options: [.appAccountToken(uuid)])
| |- error: 'purchase(options:)' is only available in macOS 12.0 or newer
| `- note: add 'if #available' version check
120 | switch result {
121 | case .success(let verification):
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:129:17: error: setter for 'errorMessage' is only available in macOS 10.15 or newer
18 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
19 |
20 | class RootStore: ObservableObject {
| `- note: add @available attribute to enclosing class
21 | @AppStorage("subscribed") private var isSubscribed: Bool = false
22 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
111 |
112 | @MainActor
113 | func purchaseProduct(with productId: String) async {
| `- note: add @available attribute to enclosing instance method
114 | guard let product = storeProducts.first(where: { $0.id == productId }) else {
115 | errorMessage = "Product not found in App Store"
:
127 |
128 | await transaction.finish()
129 | errorMessage = nil
| |- error: setter for 'errorMessage' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
130 | case .userCancelled:
131 | errorMessage = "User cancelled the purchase"
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:131:17: error: setter for 'errorMessage' is only available in macOS 10.15 or newer
18 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
19 |
20 | class RootStore: ObservableObject {
| `- note: add @available attribute to enclosing class
21 | @AppStorage("subscribed") private var isSubscribed: Bool = false
22 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
111 |
112 | @MainActor
113 | func purchaseProduct(with productId: String) async {
| `- note: add @available attribute to enclosing instance method
114 | guard let product = storeProducts.first(where: { $0.id == productId }) else {
115 | errorMessage = "Product not found in App Store"
:
129 | errorMessage = nil
130 | case .userCancelled:
131 | errorMessage = "User cancelled the purchase"
| |- error: setter for 'errorMessage' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
132 |
133 | case .pending:
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:134:17: error: setter for 'errorMessage' is only available in macOS 10.15 or newer
18 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
19 |
20 | class RootStore: ObservableObject {
| `- note: add @available attribute to enclosing class
21 | @AppStorage("subscribed") private var isSubscribed: Bool = false
22 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
111 |
112 | @MainActor
113 | func purchaseProduct(with productId: String) async {
| `- note: add @available attribute to enclosing instance method
114 | guard let product = storeProducts.first(where: { $0.id == productId }) else {
115 | errorMessage = "Product not found in App Store"
:
132 |
133 | case .pending:
134 | errorMessage = "Purchase is pending"
| |- error: setter for 'errorMessage' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
135 |
136 | default:
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:137:17: error: setter for 'errorMessage' is only available in macOS 10.15 or newer
18 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
19 |
20 | class RootStore: ObservableObject {
| `- note: add @available attribute to enclosing class
21 | @AppStorage("subscribed") private var isSubscribed: Bool = false
22 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
111 |
112 | @MainActor
113 | func purchaseProduct(with productId: String) async {
| `- note: add @available attribute to enclosing instance method
114 | guard let product = storeProducts.first(where: { $0.id == productId }) else {
115 | errorMessage = "Product not found in App Store"
:
135 |
136 | default:
137 | errorMessage = "Unknown purchase result"
| |- error: setter for 'errorMessage' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
138 |
139 | }
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:141:13: error: setter for 'errorMessage' is only available in macOS 10.15 or newer
18 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
19 |
20 | class RootStore: ObservableObject {
| `- note: add @available attribute to enclosing class
21 | @AppStorage("subscribed") private var isSubscribed: Bool = false
22 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
111 |
112 | @MainActor
113 | func purchaseProduct(with productId: String) async {
| `- note: add @available attribute to enclosing instance method
114 | guard let product = storeProducts.first(where: { $0.id == productId }) else {
115 | errorMessage = "Product not found in App Store"
:
139 | }
140 | } catch {
141 | errorMessage = "Purchase failed: \(error.localizedDescription)"
| |- error: setter for 'errorMessage' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
142 | }
143 |
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:148:29: error: 'Product' is only available in macOS 12.0 or newer
18 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
19 |
20 | class RootStore: ObservableObject {
| `- note: add @available attribute to enclosing class
21 | @AppStorage("subscribed") private var isSubscribed: Bool = false
22 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
145 |
146 | @MainActor
147 | func updateCustomerProductStatus() async {
| `- note: add @available attribute to enclosing instance method
148 | var purchasedSubs: [Product] = []
| |- error: 'Product' is only available in macOS 12.0 or newer
| `- note: add 'if #available' version check
149 |
150 | var latestTransactions: [String: Transaction] = [:]
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:152:41: error: 'currentEntitlements' is only available in macOS 12.0 or newer
18 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
19 |
20 | class RootStore: ObservableObject {
| `- note: add @available attribute to enclosing class
21 | @AppStorage("subscribed") private var isSubscribed: Bool = false
22 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
145 |
146 | @MainActor
147 | func updateCustomerProductStatus() async {
| `- note: add @available attribute to enclosing instance method
148 | var purchasedSubs: [Product] = []
149 |
150 | var latestTransactions: [String: Transaction] = [:]
151 |
152 | for await result in Transaction.currentEntitlements {
| |- error: 'currentEntitlements' is only available in macOS 12.0 or newer
| `- note: add 'if #available' version check
153 | do{
154 | let transaction = try sk2Store.checkVerified(result)
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:169:17: error: setter for 'errorMessage' is only available in macOS 10.15 or newer
18 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
19 |
20 | class RootStore: ObservableObject {
| `- note: add @available attribute to enclosing class
21 | @AppStorage("subscribed") private var isSubscribed: Bool = false
22 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
145 |
146 | @MainActor
147 | func updateCustomerProductStatus() async {
| `- note: add @available attribute to enclosing instance method
148 | var purchasedSubs: [Product] = []
149 |
:
167 | }
168 | } catch {
169 | 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
170 | }
171 |
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:179:9: error: setter for 'purchasedSubscriptions' is only available in macOS 10.15 or newer
18 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
19 |
20 | class RootStore: ObservableObject {
| `- note: add @available attribute to enclosing class
21 | @AppStorage("subscribed") private var isSubscribed: Bool = false
22 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
145 |
146 | @MainActor
147 | func updateCustomerProductStatus() async {
| `- note: add @available attribute to enclosing instance method
148 | var purchasedSubs: [Product] = []
149 |
:
177 | }
178 |
179 | self.purchasedSubscriptions = purchasedSubs
| |- error: setter for 'purchasedSubscriptions' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
180 |
181 | subscriptionGroupStatus = try? await storeProducts.first?.subscription?.status.first?.state
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:181:9: error: setter for 'subscriptionGroupStatus' is only available in macOS 10.15 or newer
18 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
19 |
20 | class RootStore: ObservableObject {
| `- note: add @available attribute to enclosing class
21 | @AppStorage("subscribed") private var isSubscribed: Bool = false
22 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
145 |
146 | @MainActor
147 | func updateCustomerProductStatus() async {
| `- note: add @available attribute to enclosing instance method
148 | var purchasedSubs: [Product] = []
149 |
:
179 | self.purchasedSubscriptions = purchasedSubs
180 |
181 | 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
182 | await updateSubscriptionStatus()
183 |
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:181:81: error: 'status' is only available in macOS 12.0 or newer
18 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
19 |
20 | class RootStore: ObservableObject {
| `- note: add @available attribute to enclosing class
21 | @AppStorage("subscribed") private var isSubscribed: Bool = false
22 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
145 |
146 | @MainActor
147 | func updateCustomerProductStatus() async {
| `- note: add @available attribute to enclosing instance method
148 | var purchasedSubs: [Product] = []
149 |
:
179 | self.purchasedSubscriptions = purchasedSubs
180 |
181 | 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
182 | await updateSubscriptionStatus()
183 |
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:189:13: error: setter for 'isSubscribed' is only available in macOS 11.0 or newer
18 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
19 |
20 | class RootStore: ObservableObject {
| `- note: add @available attribute to enclosing class
21 | @AppStorage("subscribed") private var isSubscribed: Bool = false
22 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
185 |
186 | @MainActor
187 | func updateSubscriptionStatus() async {
| `- note: add @available attribute to enclosing instance method
188 | if subscriptionGroupStatus == .subscribed || subscriptionGroupStatus == .inGracePeriod {
189 | isSubscribed = true
| |- error: setter for 'isSubscribed' is only available in macOS 11.0 or newer
| `- note: add 'if #available' version check
190 | } else {
191 | isSubscribed = false
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:191:13: error: setter for 'isSubscribed' is only available in macOS 11.0 or newer
18 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
19 |
20 | class RootStore: ObservableObject {
| `- note: add @available attribute to enclosing class
21 | @AppStorage("subscribed") private var isSubscribed: Bool = false
22 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
185 |
186 | @MainActor
187 | func updateSubscriptionStatus() async {
| `- note: add @available attribute to enclosing instance method
188 | if subscriptionGroupStatus == .subscribed || subscriptionGroupStatus == .inGracePeriod {
189 | isSubscribed = true
190 | } else {
191 | isSubscribed = false
| |- error: setter for 'isSubscribed' is only available in macOS 11.0 or newer
| `- note: add 'if #available' version check
192 | }
193 | }
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:197:43: error: conformance of 'Product' to 'Equatable' is only available in macOS 12.0 or newer
18 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
19 |
20 | class RootStore: ObservableObject {
| `- note: add @available attribute to enclosing class
21 | @AppStorage("subscribed") private var isSubscribed: Bool = false
22 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
193 | }
194 |
195 | func isProductPurchased(with productId: String) -> Bool {
| `- note: add @available attribute to enclosing instance method
196 | if let product = storeProducts.first(where: {$0.id == productId}) {
197 | 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
198 | }
199 | return false
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:203:16: error: 'Task' is only available in macOS 10.15 or newer
18 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
19 |
20 | class RootStore: ObservableObject {
| `- note: add @available attribute to enclosing class
21 | @AppStorage("subscribed") private var isSubscribed: Bool = false
22 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
200 | }
201 |
202 | func listenForTransactions() -> Task<Void, Error> {
| `- note: add @available attribute to enclosing instance method
203 | return Task.detached {
| |- error: 'Task' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
204 | for await result in Transaction.updates {
205 | do {
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:203:21: error: 'detached(priority:operation:)' is only available in macOS 10.15 or newer
18 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
19 |
20 | class RootStore: ObservableObject {
| `- note: add @available attribute to enclosing class
21 | @AppStorage("subscribed") private var isSubscribed: Bool = false
22 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
200 | }
201 |
202 | func listenForTransactions() -> Task<Void, Error> {
| `- note: add @available attribute to enclosing instance method
203 | return Task.detached {
| |- error: 'detached(priority:operation:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
204 | for await result in Transaction.updates {
205 | do {
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:204:45: error: 'updates' is only available in macOS 12.0 or newer
18 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
19 |
20 | class RootStore: ObservableObject {
| `- note: add @available attribute to enclosing class
21 | @AppStorage("subscribed") private var isSubscribed: Bool = false
22 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
200 | }
201 |
202 | func listenForTransactions() -> Task<Void, Error> {
| `- note: add @available attribute to enclosing instance method
203 | return Task.detached {
204 | for await result in Transaction.updates {
| |- error: 'updates' is only available in macOS 12.0 or newer
| `- note: add 'if #available' version check
205 | do {
206 | let transaction = try result.payloadValue
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:232:13: error: cannot find 'UIApplication' in scope
230 | func openSubscriptionSettings() {
231 | if let appStoreSubscriptionURL = URL(string: "https://apps.apple.com/account/subscriptions") {
232 | UIApplication.shared.open(appStoreSubscriptionURL, options: [:], completionHandler: nil)
| `- error: cannot find 'UIApplication' in scope
233 | } else {
234 | errorMessage = "Failed to open subscriptions."
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:232:97: error: 'nil' requires a contextual type
230 | func openSubscriptionSettings() {
231 | if let appStoreSubscriptionURL = URL(string: "https://apps.apple.com/account/subscriptions") {
232 | UIApplication.shared.open(appStoreSubscriptionURL, options: [:], completionHandler: nil)
| `- error: 'nil' requires a contextual type
233 | } else {
234 | errorMessage = "Failed to open subscriptions."
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Utilities/RootStore.swift:234:13: error: setter for 'errorMessage' is only available in macOS 10.15 or newer
18 | typealias RenewalState = StoreKit.Product.SubscriptionInfo.RenewalState
19 |
20 | class RootStore: ObservableObject {
| `- note: add @available attribute to enclosing class
21 | @AppStorage("subscribed") private var isSubscribed: Bool = false
22 | @Published var apiSubscriptionPlans: [SubscriptionPlan] = []
:
228 |
229 | @MainActor
230 | func openSubscriptionSettings() {
| `- note: add @available attribute to enclosing instance method
231 | if let appStoreSubscriptionURL = URL(string: "https://apps.apple.com/account/subscriptions") {
232 | UIApplication.shared.open(appStoreSubscriptionURL, options: [:], completionHandler: nil)
233 | } else {
234 | errorMessage = "Failed to open subscriptions."
| |- error: setter for 'errorMessage' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
235 | }
236 | }
[14/14] Compiling IosIapStore ToastView.swift
/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)
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/ToastView.swift:14:9: error: 'Text' 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 {
| `- note: add @available attribute to enclosing property
14 | Text(message)
| |- error: 'Text' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
15 | .foregroundColor(.white)
16 | .padding()
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/ToastView.swift:15:14: error: 'foregroundColor' 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 {
| `- note: add @available attribute to enclosing property
14 | Text(message)
15 | .foregroundColor(.white)
| |- error: 'foregroundColor' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
16 | .padding()
17 | .background(Color.red.opacity(0.8))
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/ToastView.swift:15:31: error: 'white' 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 {
| `- note: add @available attribute to enclosing property
14 | Text(message)
15 | .foregroundColor(.white)
| |- error: 'white' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
16 | .padding()
17 | .background(Color.red.opacity(0.8))
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/ToastView.swift:16:14: error: 'padding' 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 {
| `- note: add @available attribute to enclosing property
14 | Text(message)
15 | .foregroundColor(.white)
16 | .padding()
| |- error: 'padding' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
17 | .background(Color.red.opacity(0.8))
18 | .cornerRadius(8)
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/ToastView.swift:17:14: error: 'background(_:ignoresSafeAreaEdges:)' is only available in macOS 12.0 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 {
| `- note: add @available attribute to enclosing property
14 | Text(message)
15 | .foregroundColor(.white)
16 | .padding()
17 | .background(Color.red.opacity(0.8))
| |- error: 'background(_:ignoresSafeAreaEdges:)' is only available in macOS 12.0 or newer
| `- note: add 'if #available' version check
18 | .cornerRadius(8)
19 | .shadow(radius: 5)
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/ToastView.swift:17:25: error: 'Color' 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 {
| `- note: add @available attribute to enclosing property
14 | Text(message)
15 | .foregroundColor(.white)
16 | .padding()
17 | .background(Color.red.opacity(0.8))
| |- error: 'Color' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
18 | .cornerRadius(8)
19 | .shadow(radius: 5)
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/ToastView.swift:17:31: error: 'red' 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 {
| `- note: add @available attribute to enclosing property
14 | Text(message)
15 | .foregroundColor(.white)
16 | .padding()
17 | .background(Color.red.opacity(0.8))
| |- error: 'red' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
18 | .cornerRadius(8)
19 | .shadow(radius: 5)
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/ToastView.swift:17:35: error: 'opacity' 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 {
| `- note: add @available attribute to enclosing property
14 | Text(message)
15 | .foregroundColor(.white)
16 | .padding()
17 | .background(Color.red.opacity(0.8))
| |- error: 'opacity' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
18 | .cornerRadius(8)
19 | .shadow(radius: 5)
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/ToastView.swift:18:14: error: 'cornerRadius(_:antialiased:)' 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 {
| `- note: add @available attribute to enclosing property
14 | Text(message)
15 | .foregroundColor(.white)
16 | .padding()
17 | .background(Color.red.opacity(0.8))
18 | .cornerRadius(8)
| |- error: 'cornerRadius(_:antialiased:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
19 | .shadow(radius: 5)
20 | }
/Users/admin/builder/spi-builder-workspace/Sources/IosIapStore/Views/ToastView.swift:19:14: error: 'shadow(color:radius:x:y:)' 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 {
| `- note: add @available attribute to enclosing property
14 | Text(message)
15 | .foregroundColor(.white)
:
17 | .background(Color.red.opacity(0.8))
18 | .cornerRadius(8)
19 | .shadow(radius: 5)
| |- error: 'shadow(color:radius:x:y:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
20 | }
21 | }
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.2 macosSpm