Build Information
Failed to build PushNotifications with Swift 6.0 for Linux.
Build Command
bash -c docker run --rm -v "checkouts-4609320-0":/host -w "$workDir" registry.gitlab.com/finestructure/spi-images:basic-6.0-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete 2>&1
Build Log
:
66 | func sendMessage(serverSyncJob: ServerSyncJob) {
67 | self.sendMessageQueue.async {
68 | self.jobQueue.append(serverSyncJob)
| `- warning: capture of 'self' with non-sendable type 'ServerSyncProcessHandler' in a `@Sendable` closure; this is an error in the Swift 6 language mode
69 |
70 | self.handleMessageQueue.async {
/host/spi-builder-workspace/Sources/Services/ServerSyncProcessHandler.swift:68:34: warning: capture of 'serverSyncJob' with non-sendable type 'ServerSyncJob' in a `@Sendable` closure; this is an error in the Swift 6 language mode
66 | func sendMessage(serverSyncJob: ServerSyncJob) {
67 | self.sendMessageQueue.async {
68 | self.jobQueue.append(serverSyncJob)
| `- warning: capture of 'serverSyncJob' with non-sendable type 'ServerSyncJob' in a `@Sendable` closure; this is an error in the Swift 6 language mode
69 |
70 | self.handleMessageQueue.async {
/host/spi-builder-workspace/Sources/Models/ServerSyncJob.swift:3:6: note: consider making enum 'ServerSyncJob' conform to the 'Sendable' protocol
1 | import Foundation
2 |
3 | enum ServerSyncJob {
| `- note: consider making enum 'ServerSyncJob' conform to the 'Sendable' protocol
4 | case startJob(instanceId: String, token: String)
5 | case refreshTokenJob(newToken: String)
/host/spi-builder-workspace/Sources/Services/ServerSyncProcessHandler.swift:71:17: warning: capture of 'self' with non-sendable type 'ServerSyncProcessHandler' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1 | import Foundation
2 |
3 | class ServerSyncProcessHandler {
| `- note: class 'ServerSyncProcessHandler' does not conform to the 'Sendable' protocol
4 | private static let serverSyncHandlersQueue = DispatchQueue(label: "com.pusher.beams.serverSyncHandlersQueue")
5 | private static var serverSyncHandlers = [String: ServerSyncProcessHandler]()
:
69 |
70 | self.handleMessageQueue.async {
71 | self.handleMessage(serverSyncJob: serverSyncJob)
| `- warning: capture of 'self' with non-sendable type 'ServerSyncProcessHandler' in a `@Sendable` closure; this is an error in the Swift 6 language mode
72 | }
73 | }
/host/spi-builder-workspace/Sources/Services/ServerSyncProcessHandler.swift:71:51: warning: capture of 'serverSyncJob' with non-sendable type 'ServerSyncJob' in a `@Sendable` closure; this is an error in the Swift 6 language mode
69 |
70 | self.handleMessageQueue.async {
71 | self.handleMessage(serverSyncJob: serverSyncJob)
| `- warning: capture of 'serverSyncJob' with non-sendable type 'ServerSyncJob' in a `@Sendable` closure; this is an error in the Swift 6 language mode
72 | }
73 | }
/host/spi-builder-workspace/Sources/Models/ServerSyncJob.swift:3:6: note: consider making enum 'ServerSyncJob' conform to the 'Sendable' protocol
1 | import Foundation
2 |
3 | enum ServerSyncJob {
| `- note: consider making enum 'ServerSyncJob' conform to the 'Sendable' protocol
4 | case startJob(instanceId: String, token: String)
5 | case refreshTokenJob(newToken: String)
/host/spi-builder-workspace/Sources/Models/Metadata.swift:8:16: warning: static property 'current' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
6 | let macosVersion: String?
7 |
8 | static var current: Metadata = {
| |- warning: static property 'current' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'current' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'current' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
9 | let sdkVersion = SDK.version
10 | let systemVersion = SystemVersion.version
[7/46] Compiling PushNotifications ServerSyncJobStore.swift
/host/spi-builder-workspace/Sources/Services/EventTypeHandler.swift:147:31: error: cannot find 'isForeground' in scope
145 | let hasCustomerData = data.count > 1 // checks if there's anything other than the `pusher` key
146 |
147 | if hasCustomerData && isForeground {
| `- error: cannot find 'isForeground' in scope
148 | return .ShouldProcess
149 | }
/host/spi-builder-workspace/Sources/Services/NetworkService.swift:4:18: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
2 |
3 | class NetworkService: PushNotificationsNetworkable {
4 | let session: URLSession
| `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
5 |
6 | init(session: URLSession) {
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
| `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Services/NetworkService.swift:6:19: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
4 | let session: URLSession
5 |
6 | init(session: URLSession) {
| `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
7 | self.session = session
8 | }
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
| `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Services/NetworkService.swift:225:44: error: cannot find type 'URLRequest' in scope
223 |
224 | // MARK: Networking Layer
225 | private func networkRequest(_ request: URLRequest,
| `- error: cannot find type 'URLRequest' in scope
226 | session: URLSession,
227 | retryStrategy: RetryStrategy) -> Result<Data, PushNotificationsAPIError> {
/host/spi-builder-workspace/Sources/Services/NetworkService.swift:226:42: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
224 | // MARK: Networking Layer
225 | private func networkRequest(_ request: URLRequest,
226 | session: URLSession,
| `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
227 | retryStrategy: RetryStrategy) -> Result<Data, PushNotificationsAPIError> {
228 | let semaphore = DispatchSemaphore(value: 0)
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
| `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Services/NetworkService.swift:287:85: error: cannot find type 'URLRequest' in scope
285 | }
286 |
287 | private func setRequest(url: URL, httpMethod: HTTPMethod, body: Data? = nil) -> URLRequest {
| `- error: cannot find type 'URLRequest' in scope
288 | var request = URLRequest(url: url)
289 | request.addValue("application/json", forHTTPHeaderField: "Content-Type")
/host/spi-builder-workspace/Sources/Services/NetworkService.swift:28:66: error: cannot infer contextual base in reference to member 'POST'
26 | }
27 |
28 | let request = self.setRequest(url: url, httpMethod: .POST, body: body)
| `- error: cannot infer contextual base in reference to member 'POST'
29 |
30 | switch self.networkRequest(request, session: self.session, retryStrategy: retryStrategy) {
/host/spi-builder-workspace/Sources/Services/NetworkService.swift:54:66: error: cannot infer contextual base in reference to member 'POST'
52 | }
53 |
54 | let request = self.setRequest(url: url, httpMethod: .POST)
| `- error: cannot infer contextual base in reference to member 'POST'
55 |
56 | switch self.networkRequest(request, session: self.session, retryStrategy: retryStrategy) {
/host/spi-builder-workspace/Sources/Services/NetworkService.swift:79:66: error: cannot infer contextual base in reference to member 'PUT'
77 | return .failure(.genericError(reason: "Error while encoding the interests payload."))
78 | }
79 | let request = self.setRequest(url: url, httpMethod: .PUT, body: body)
| `- error: cannot infer contextual base in reference to member 'PUT'
80 |
81 | switch self.networkRequest(request, session: self.session, retryStrategy: retryStrategy) {
/host/spi-builder-workspace/Sources/Services/NetworkService.swift:102:66: error: cannot infer contextual base in reference to member 'DELETE'
100 | }
101 |
102 | let request = self.setRequest(url: url, httpMethod: .DELETE)
| `- error: cannot infer contextual base in reference to member 'DELETE'
103 |
104 | switch self.networkRequest(request, session: self.session, retryStrategy: retryStrategy) {
/host/spi-builder-workspace/Sources/Services/NetworkService.swift:127:66: error: cannot infer contextual base in reference to member 'POST'
125 | }
126 |
127 | let request = self.setRequest(url: url, httpMethod: .POST, body: body)
| `- error: cannot infer contextual base in reference to member 'POST'
128 | switch self.networkRequest(request, session: self.session, retryStrategy: retryStrategy) {
129 | case .success:
/host/spi-builder-workspace/Sources/Services/NetworkService.swift:151:66: error: cannot infer contextual base in reference to member 'PUT'
149 | return .failure(.genericError(reason: "Error while encoding the metadata payload."))
150 | }
151 | let request = self.setRequest(url: url, httpMethod: .PUT, body: body)
| `- error: cannot infer contextual base in reference to member 'PUT'
152 | switch self.networkRequest(request, session: self.session, retryStrategy: retryStrategy) {
153 | case .success:
/host/spi-builder-workspace/Sources/Services/NetworkService.swift:172:66: error: cannot infer contextual base in reference to member 'PUT'
170 | }
171 |
172 | var request = self.setRequest(url: url, httpMethod: .PUT)
| `- error: cannot infer contextual base in reference to member 'PUT'
173 | request.addValue("Bearer \(token)", forHTTPHeaderField: "Authorization")
174 | switch self.networkRequest(request, session: self.session, retryStrategy: retryStrategy) {
/host/spi-builder-workspace/Sources/Services/NetworkService.swift:193:66: error: cannot infer contextual base in reference to member 'DELETE'
191 | }
192 |
193 | let request = self.setRequest(url: url, httpMethod: .DELETE)
| `- error: cannot infer contextual base in reference to member 'DELETE'
194 | switch self.networkRequest(request, session: self.session, retryStrategy: retryStrategy) {
195 | case .success:
/host/spi-builder-workspace/Sources/Services/NetworkService.swift:213:66: error: cannot infer contextual base in reference to member 'GET'
211 | }
212 |
213 | let request = self.setRequest(url: url, httpMethod: .GET)
| `- error: cannot infer contextual base in reference to member 'GET'
214 | switch self.networkRequest(request, session: self.session, retryStrategy: retryStrategy) {
215 | case .success:
/host/spi-builder-workspace/Sources/Services/NetworkService.swift:231:17: error: value of type 'URLSession' (aka 'AnyObject') has no member 'dataTask'
229 | var result: Result<Data, PushNotificationsAPIError>?
230 |
231 | session.dataTask(with: request, completionHandler: { data, response, error in
| `- error: value of type 'URLSession' (aka 'AnyObject') has no member 'dataTask'
232 | guard
233 | let data = data,
/host/spi-builder-workspace/Sources/Services/NetworkService.swift:247:46: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
245 | }
246 |
247 | let statusCode = httpURLResponse.statusCode
| `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
248 | switch statusCode {
249 | case 200..<300:
/host/spi-builder-workspace/Sources/Services/NetworkService.swift:288:23: error: cannot find 'URLRequest' in scope
286 |
287 | private func setRequest(url: URL, httpMethod: HTTPMethod, body: Data? = nil) -> URLRequest {
288 | var request = URLRequest(url: url)
| `- error: cannot find 'URLRequest' in scope
289 | request.addValue("application/json", forHTTPHeaderField: "Content-Type")
290 | request.addValue("push-notifications-swift \(SDK.version)", forHTTPHeaderField: "X-Pusher-Library")
/host/spi-builder-workspace/Sources/Services/ServerSyncEventHandler.swift:6:16: warning: static property 'serverSyncEventHandlers' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
4 |
5 | static let serverSyncEventHandlersQueue = DispatchQueue(label: "com.pusher.beams.serverSyncEventHandlersQueue")
6 | static var serverSyncEventHandlers = [String: ServerSyncEventHandler]()
| |- warning: static property 'serverSyncEventHandlers' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'serverSyncEventHandlers' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'serverSyncEventHandlers' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
7 |
8 | static func obtain(instanceId: String) -> ServerSyncEventHandler {
/host/spi-builder-workspace/Sources/Services/ServerSyncEventHandler.swift:36:17: warning: capture of 'self' with non-sendable type 'ServerSyncEventHandler' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1 | import Foundation
2 |
3 | class ServerSyncEventHandler {
| `- note: class 'ServerSyncEventHandler' does not conform to the 'Sendable' protocol
4 |
5 | static let serverSyncEventHandlersQueue = DispatchQueue(label: "com.pusher.beams.serverSyncEventHandlersQueue")
:
34 | switch event {
35 | case .interestsChangedEvent(let interests):
36 | self.interestsChangedDelegates.forEach({ delegate in
| `- warning: capture of 'self' with non-sendable type 'ServerSyncEventHandler' in a `@Sendable` closure; this is an error in the Swift 6 language mode
37 | if let delegate = delegate() {
38 | delegate.interestsSetOnDeviceDidChange(interests: interests)
/host/spi-builder-workspace/Sources/Services/ServerSyncProcessHandler.swift:5:24: warning: static property 'serverSyncHandlers' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
3 | class ServerSyncProcessHandler {
4 | private static let serverSyncHandlersQueue = DispatchQueue(label: "com.pusher.beams.serverSyncHandlersQueue")
5 | private static var serverSyncHandlers = [String: ServerSyncProcessHandler]()
| |- warning: static property 'serverSyncHandlers' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'serverSyncHandlers' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'serverSyncHandlers' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
6 | static func obtain(instanceId: String, getTokenProvider: @escaping () -> TokenProvider?, handleServerSyncEvent: @escaping (ServerSyncEvent) -> Void) -> ServerSyncProcessHandler {
7 | return serverSyncHandlersQueue.sync {
/host/spi-builder-workspace/Sources/Services/ServerSyncProcessHandler.swift:47:23: error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
45 | self.sendMessageQueue = DispatchQueue(label: "com.pusher.beams.sendMessageQueue")
46 | self.handleMessageQueue = DispatchQueue(label: "com.pusher.beams.handleMessageQueue")
47 | let session = URLSession(configuration: .ephemeral)
| `- error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
48 | self.networkService = NetworkService(session: session)
49 | self.jobQueue = ServerSyncJobStore(instanceId: self.instanceId)
/host/spi-builder-workspace/Sources/Services/ServerSyncProcessHandler.swift:47:50: error: cannot infer contextual base in reference to member 'ephemeral'
45 | self.sendMessageQueue = DispatchQueue(label: "com.pusher.beams.sendMessageQueue")
46 | self.handleMessageQueue = DispatchQueue(label: "com.pusher.beams.handleMessageQueue")
47 | let session = URLSession(configuration: .ephemeral)
| `- error: cannot infer contextual base in reference to member 'ephemeral'
48 | self.networkService = NetworkService(session: session)
49 | self.jobQueue = ServerSyncJobStore(instanceId: self.instanceId)
/host/spi-builder-workspace/Sources/Services/ServerSyncProcessHandler.swift:60:21: warning: capture of 'self' with non-sendable type 'ServerSyncProcessHandler' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1 | import Foundation
2 |
3 | class ServerSyncProcessHandler {
| `- note: class 'ServerSyncProcessHandler' does not conform to the 'Sendable' protocol
4 | private static let serverSyncHandlersQueue = DispatchQueue(label: "com.pusher.beams.serverSyncHandlersQueue")
5 | private static var serverSyncHandlers = [String: ServerSyncProcessHandler]()
:
58 | default:
59 | self.handleMessageQueue.async {
60 | self.handleMessage(serverSyncJob: job)
| `- warning: capture of 'self' with non-sendable type 'ServerSyncProcessHandler' in a `@Sendable` closure; this is an error in the Swift 6 language mode
61 | }
62 | }
/host/spi-builder-workspace/Sources/Services/ServerSyncProcessHandler.swift:60:55: warning: capture of 'job' with non-sendable type 'ServerSyncJob' in a `@Sendable` closure; this is an error in the Swift 6 language mode
58 | default:
59 | self.handleMessageQueue.async {
60 | self.handleMessage(serverSyncJob: job)
| `- warning: capture of 'job' with non-sendable type 'ServerSyncJob' in a `@Sendable` closure; this is an error in the Swift 6 language mode
61 | }
62 | }
/host/spi-builder-workspace/Sources/Models/ServerSyncJob.swift:3:6: note: consider making enum 'ServerSyncJob' conform to the 'Sendable' protocol
1 | import Foundation
2 |
3 | enum ServerSyncJob {
| `- note: consider making enum 'ServerSyncJob' conform to the 'Sendable' protocol
4 | case startJob(instanceId: String, token: String)
5 | case refreshTokenJob(newToken: String)
/host/spi-builder-workspace/Sources/Services/ServerSyncProcessHandler.swift:68:13: warning: capture of 'self' with non-sendable type 'ServerSyncProcessHandler' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1 | import Foundation
2 |
3 | class ServerSyncProcessHandler {
| `- note: class 'ServerSyncProcessHandler' does not conform to the 'Sendable' protocol
4 | private static let serverSyncHandlersQueue = DispatchQueue(label: "com.pusher.beams.serverSyncHandlersQueue")
5 | private static var serverSyncHandlers = [String: ServerSyncProcessHandler]()
:
66 | func sendMessage(serverSyncJob: ServerSyncJob) {
67 | self.sendMessageQueue.async {
68 | self.jobQueue.append(serverSyncJob)
| `- warning: capture of 'self' with non-sendable type 'ServerSyncProcessHandler' in a `@Sendable` closure; this is an error in the Swift 6 language mode
69 |
70 | self.handleMessageQueue.async {
/host/spi-builder-workspace/Sources/Services/ServerSyncProcessHandler.swift:68:34: warning: capture of 'serverSyncJob' with non-sendable type 'ServerSyncJob' in a `@Sendable` closure; this is an error in the Swift 6 language mode
66 | func sendMessage(serverSyncJob: ServerSyncJob) {
67 | self.sendMessageQueue.async {
68 | self.jobQueue.append(serverSyncJob)
| `- warning: capture of 'serverSyncJob' with non-sendable type 'ServerSyncJob' in a `@Sendable` closure; this is an error in the Swift 6 language mode
69 |
70 | self.handleMessageQueue.async {
/host/spi-builder-workspace/Sources/Models/ServerSyncJob.swift:3:6: note: consider making enum 'ServerSyncJob' conform to the 'Sendable' protocol
1 | import Foundation
2 |
3 | enum ServerSyncJob {
| `- note: consider making enum 'ServerSyncJob' conform to the 'Sendable' protocol
4 | case startJob(instanceId: String, token: String)
5 | case refreshTokenJob(newToken: String)
/host/spi-builder-workspace/Sources/Services/ServerSyncProcessHandler.swift:71:17: warning: capture of 'self' with non-sendable type 'ServerSyncProcessHandler' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1 | import Foundation
2 |
3 | class ServerSyncProcessHandler {
| `- note: class 'ServerSyncProcessHandler' does not conform to the 'Sendable' protocol
4 | private static let serverSyncHandlersQueue = DispatchQueue(label: "com.pusher.beams.serverSyncHandlersQueue")
5 | private static var serverSyncHandlers = [String: ServerSyncProcessHandler]()
:
69 |
70 | self.handleMessageQueue.async {
71 | self.handleMessage(serverSyncJob: serverSyncJob)
| `- warning: capture of 'self' with non-sendable type 'ServerSyncProcessHandler' in a `@Sendable` closure; this is an error in the Swift 6 language mode
72 | }
73 | }
/host/spi-builder-workspace/Sources/Services/ServerSyncProcessHandler.swift:71:51: warning: capture of 'serverSyncJob' with non-sendable type 'ServerSyncJob' in a `@Sendable` closure; this is an error in the Swift 6 language mode
69 |
70 | self.handleMessageQueue.async {
71 | self.handleMessage(serverSyncJob: serverSyncJob)
| `- warning: capture of 'serverSyncJob' with non-sendable type 'ServerSyncJob' in a `@Sendable` closure; this is an error in the Swift 6 language mode
72 | }
73 | }
/host/spi-builder-workspace/Sources/Models/ServerSyncJob.swift:3:6: note: consider making enum 'ServerSyncJob' conform to the 'Sendable' protocol
1 | import Foundation
2 |
3 | enum ServerSyncJob {
| `- note: consider making enum 'ServerSyncJob' conform to the 'Sendable' protocol
4 | case startJob(instanceId: String, token: String)
5 | case refreshTokenJob(newToken: String)
/host/spi-builder-workspace/Sources/Models/Metadata.swift:8:16: warning: static property 'current' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
6 | let macosVersion: String?
7 |
8 | static var current: Metadata = {
| |- warning: static property 'current' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'current' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'current' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
9 | let sdkVersion = SDK.version
10 | let systemVersion = SystemVersion.version
[8/46] Compiling PushNotifications ServerSyncProcessHandler.swift
/host/spi-builder-workspace/Sources/Services/EventTypeHandler.swift:147:31: error: cannot find 'isForeground' in scope
145 | let hasCustomerData = data.count > 1 // checks if there's anything other than the `pusher` key
146 |
147 | if hasCustomerData && isForeground {
| `- error: cannot find 'isForeground' in scope
148 | return .ShouldProcess
149 | }
/host/spi-builder-workspace/Sources/Services/NetworkService.swift:4:18: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
2 |
3 | class NetworkService: PushNotificationsNetworkable {
4 | let session: URLSession
| `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
5 |
6 | init(session: URLSession) {
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
| `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Services/NetworkService.swift:6:19: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
4 | let session: URLSession
5 |
6 | init(session: URLSession) {
| `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
7 | self.session = session
8 | }
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
| `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Services/NetworkService.swift:225:44: error: cannot find type 'URLRequest' in scope
223 |
224 | // MARK: Networking Layer
225 | private func networkRequest(_ request: URLRequest,
| `- error: cannot find type 'URLRequest' in scope
226 | session: URLSession,
227 | retryStrategy: RetryStrategy) -> Result<Data, PushNotificationsAPIError> {
/host/spi-builder-workspace/Sources/Services/NetworkService.swift:226:42: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
224 | // MARK: Networking Layer
225 | private func networkRequest(_ request: URLRequest,
226 | session: URLSession,
| `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
227 | retryStrategy: RetryStrategy) -> Result<Data, PushNotificationsAPIError> {
228 | let semaphore = DispatchSemaphore(value: 0)
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
| `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/Services/NetworkService.swift:287:85: error: cannot find type 'URLRequest' in scope
285 | }
286 |
287 | private func setRequest(url: URL, httpMethod: HTTPMethod, body: Data? = nil) -> URLRequest {
| `- error: cannot find type 'URLRequest' in scope
288 | var request = URLRequest(url: url)
289 | request.addValue("application/json", forHTTPHeaderField: "Content-Type")
/host/spi-builder-workspace/Sources/Services/NetworkService.swift:28:66: error: cannot infer contextual base in reference to member 'POST'
26 | }
27 |
28 | let request = self.setRequest(url: url, httpMethod: .POST, body: body)
| `- error: cannot infer contextual base in reference to member 'POST'
29 |
30 | switch self.networkRequest(request, session: self.session, retryStrategy: retryStrategy) {
/host/spi-builder-workspace/Sources/Services/NetworkService.swift:54:66: error: cannot infer contextual base in reference to member 'POST'
52 | }
53 |
54 | let request = self.setRequest(url: url, httpMethod: .POST)
| `- error: cannot infer contextual base in reference to member 'POST'
55 |
56 | switch self.networkRequest(request, session: self.session, retryStrategy: retryStrategy) {
/host/spi-builder-workspace/Sources/Services/NetworkService.swift:79:66: error: cannot infer contextual base in reference to member 'PUT'
77 | return .failure(.genericError(reason: "Error while encoding the interests payload."))
78 | }
79 | let request = self.setRequest(url: url, httpMethod: .PUT, body: body)
| `- error: cannot infer contextual base in reference to member 'PUT'
80 |
81 | switch self.networkRequest(request, session: self.session, retryStrategy: retryStrategy) {
/host/spi-builder-workspace/Sources/Services/NetworkService.swift:102:66: error: cannot infer contextual base in reference to member 'DELETE'
100 | }
101 |
102 | let request = self.setRequest(url: url, httpMethod: .DELETE)
| `- error: cannot infer contextual base in reference to member 'DELETE'
103 |
104 | switch self.networkRequest(request, session: self.session, retryStrategy: retryStrategy) {
/host/spi-builder-workspace/Sources/Services/NetworkService.swift:127:66: error: cannot infer contextual base in reference to member 'POST'
125 | }
126 |
127 | let request = self.setRequest(url: url, httpMethod: .POST, body: body)
| `- error: cannot infer contextual base in reference to member 'POST'
128 | switch self.networkRequest(request, session: self.session, retryStrategy: retryStrategy) {
129 | case .success:
/host/spi-builder-workspace/Sources/Services/NetworkService.swift:151:66: error: cannot infer contextual base in reference to member 'PUT'
149 | return .failure(.genericError(reason: "Error while encoding the metadata payload."))
150 | }
151 | let request = self.setRequest(url: url, httpMethod: .PUT, body: body)
| `- error: cannot infer contextual base in reference to member 'PUT'
152 | switch self.networkRequest(request, session: self.session, retryStrategy: retryStrategy) {
153 | case .success:
/host/spi-builder-workspace/Sources/Services/NetworkService.swift:172:66: error: cannot infer contextual base in reference to member 'PUT'
170 | }
171 |
172 | var request = self.setRequest(url: url, httpMethod: .PUT)
| `- error: cannot infer contextual base in reference to member 'PUT'
173 | request.addValue("Bearer \(token)", forHTTPHeaderField: "Authorization")
174 | switch self.networkRequest(request, session: self.session, retryStrategy: retryStrategy) {
/host/spi-builder-workspace/Sources/Services/NetworkService.swift:193:66: error: cannot infer contextual base in reference to member 'DELETE'
191 | }
192 |
193 | let request = self.setRequest(url: url, httpMethod: .DELETE)
| `- error: cannot infer contextual base in reference to member 'DELETE'
194 | switch self.networkRequest(request, session: self.session, retryStrategy: retryStrategy) {
195 | case .success:
/host/spi-builder-workspace/Sources/Services/NetworkService.swift:213:66: error: cannot infer contextual base in reference to member 'GET'
211 | }
212 |
213 | let request = self.setRequest(url: url, httpMethod: .GET)
| `- error: cannot infer contextual base in reference to member 'GET'
214 | switch self.networkRequest(request, session: self.session, retryStrategy: retryStrategy) {
215 | case .success:
/host/spi-builder-workspace/Sources/Services/NetworkService.swift:231:17: error: value of type 'URLSession' (aka 'AnyObject') has no member 'dataTask'
229 | var result: Result<Data, PushNotificationsAPIError>?
230 |
231 | session.dataTask(with: request, completionHandler: { data, response, error in
| `- error: value of type 'URLSession' (aka 'AnyObject') has no member 'dataTask'
232 | guard
233 | let data = data,
/host/spi-builder-workspace/Sources/Services/NetworkService.swift:247:46: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
245 | }
246 |
247 | let statusCode = httpURLResponse.statusCode
| `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
248 | switch statusCode {
249 | case 200..<300:
/host/spi-builder-workspace/Sources/Services/NetworkService.swift:288:23: error: cannot find 'URLRequest' in scope
286 |
287 | private func setRequest(url: URL, httpMethod: HTTPMethod, body: Data? = nil) -> URLRequest {
288 | var request = URLRequest(url: url)
| `- error: cannot find 'URLRequest' in scope
289 | request.addValue("application/json", forHTTPHeaderField: "Content-Type")
290 | request.addValue("push-notifications-swift \(SDK.version)", forHTTPHeaderField: "X-Pusher-Library")
/host/spi-builder-workspace/Sources/Services/ServerSyncEventHandler.swift:6:16: warning: static property 'serverSyncEventHandlers' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
4 |
5 | static let serverSyncEventHandlersQueue = DispatchQueue(label: "com.pusher.beams.serverSyncEventHandlersQueue")
6 | static var serverSyncEventHandlers = [String: ServerSyncEventHandler]()
| |- warning: static property 'serverSyncEventHandlers' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'serverSyncEventHandlers' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'serverSyncEventHandlers' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
7 |
8 | static func obtain(instanceId: String) -> ServerSyncEventHandler {
/host/spi-builder-workspace/Sources/Services/ServerSyncEventHandler.swift:36:17: warning: capture of 'self' with non-sendable type 'ServerSyncEventHandler' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1 | import Foundation
2 |
3 | class ServerSyncEventHandler {
| `- note: class 'ServerSyncEventHandler' does not conform to the 'Sendable' protocol
4 |
5 | static let serverSyncEventHandlersQueue = DispatchQueue(label: "com.pusher.beams.serverSyncEventHandlersQueue")
:
34 | switch event {
35 | case .interestsChangedEvent(let interests):
36 | self.interestsChangedDelegates.forEach({ delegate in
| `- warning: capture of 'self' with non-sendable type 'ServerSyncEventHandler' in a `@Sendable` closure; this is an error in the Swift 6 language mode
37 | if let delegate = delegate() {
38 | delegate.interestsSetOnDeviceDidChange(interests: interests)
/host/spi-builder-workspace/Sources/Services/ServerSyncProcessHandler.swift:5:24: warning: static property 'serverSyncHandlers' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
3 | class ServerSyncProcessHandler {
4 | private static let serverSyncHandlersQueue = DispatchQueue(label: "com.pusher.beams.serverSyncHandlersQueue")
5 | private static var serverSyncHandlers = [String: ServerSyncProcessHandler]()
| |- warning: static property 'serverSyncHandlers' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'serverSyncHandlers' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'serverSyncHandlers' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
6 | static func obtain(instanceId: String, getTokenProvider: @escaping () -> TokenProvider?, handleServerSyncEvent: @escaping (ServerSyncEvent) -> Void) -> ServerSyncProcessHandler {
7 | return serverSyncHandlersQueue.sync {
/host/spi-builder-workspace/Sources/Services/ServerSyncProcessHandler.swift:47:23: error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
45 | self.sendMessageQueue = DispatchQueue(label: "com.pusher.beams.sendMessageQueue")
46 | self.handleMessageQueue = DispatchQueue(label: "com.pusher.beams.handleMessageQueue")
47 | let session = URLSession(configuration: .ephemeral)
| `- error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
48 | self.networkService = NetworkService(session: session)
49 | self.jobQueue = ServerSyncJobStore(instanceId: self.instanceId)
/host/spi-builder-workspace/Sources/Services/ServerSyncProcessHandler.swift:47:50: error: cannot infer contextual base in reference to member 'ephemeral'
45 | self.sendMessageQueue = DispatchQueue(label: "com.pusher.beams.sendMessageQueue")
46 | self.handleMessageQueue = DispatchQueue(label: "com.pusher.beams.handleMessageQueue")
47 | let session = URLSession(configuration: .ephemeral)
| `- error: cannot infer contextual base in reference to member 'ephemeral'
48 | self.networkService = NetworkService(session: session)
49 | self.jobQueue = ServerSyncJobStore(instanceId: self.instanceId)
/host/spi-builder-workspace/Sources/Services/ServerSyncProcessHandler.swift:60:21: warning: capture of 'self' with non-sendable type 'ServerSyncProcessHandler' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1 | import Foundation
2 |
3 | class ServerSyncProcessHandler {
| `- note: class 'ServerSyncProcessHandler' does not conform to the 'Sendable' protocol
4 | private static let serverSyncHandlersQueue = DispatchQueue(label: "com.pusher.beams.serverSyncHandlersQueue")
5 | private static var serverSyncHandlers = [String: ServerSyncProcessHandler]()
:
58 | default:
59 | self.handleMessageQueue.async {
60 | self.handleMessage(serverSyncJob: job)
| `- warning: capture of 'self' with non-sendable type 'ServerSyncProcessHandler' in a `@Sendable` closure; this is an error in the Swift 6 language mode
61 | }
62 | }
/host/spi-builder-workspace/Sources/Services/ServerSyncProcessHandler.swift:60:55: warning: capture of 'job' with non-sendable type 'ServerSyncJob' in a `@Sendable` closure; this is an error in the Swift 6 language mode
58 | default:
59 | self.handleMessageQueue.async {
60 | self.handleMessage(serverSyncJob: job)
| `- warning: capture of 'job' with non-sendable type 'ServerSyncJob' in a `@Sendable` closure; this is an error in the Swift 6 language mode
61 | }
62 | }
/host/spi-builder-workspace/Sources/Models/ServerSyncJob.swift:3:6: note: consider making enum 'ServerSyncJob' conform to the 'Sendable' protocol
1 | import Foundation
2 |
3 | enum ServerSyncJob {
| `- note: consider making enum 'ServerSyncJob' conform to the 'Sendable' protocol
4 | case startJob(instanceId: String, token: String)
5 | case refreshTokenJob(newToken: String)
/host/spi-builder-workspace/Sources/Services/ServerSyncProcessHandler.swift:68:13: warning: capture of 'self' with non-sendable type 'ServerSyncProcessHandler' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1 | import Foundation
2 |
3 | class ServerSyncProcessHandler {
| `- note: class 'ServerSyncProcessHandler' does not conform to the 'Sendable' protocol
4 | private static let serverSyncHandlersQueue = DispatchQueue(label: "com.pusher.beams.serverSyncHandlersQueue")
5 | private static var serverSyncHandlers = [String: ServerSyncProcessHandler]()
:
66 | func sendMessage(serverSyncJob: ServerSyncJob) {
67 | self.sendMessageQueue.async {
68 | self.jobQueue.append(serverSyncJob)
| `- warning: capture of 'self' with non-sendable type 'ServerSyncProcessHandler' in a `@Sendable` closure; this is an error in the Swift 6 language mode
69 |
70 | self.handleMessageQueue.async {
/host/spi-builder-workspace/Sources/Services/ServerSyncProcessHandler.swift:68:34: warning: capture of 'serverSyncJob' with non-sendable type 'ServerSyncJob' in a `@Sendable` closure; this is an error in the Swift 6 language mode
66 | func sendMessage(serverSyncJob: ServerSyncJob) {
67 | self.sendMessageQueue.async {
68 | self.jobQueue.append(serverSyncJob)
| `- warning: capture of 'serverSyncJob' with non-sendable type 'ServerSyncJob' in a `@Sendable` closure; this is an error in the Swift 6 language mode
69 |
70 | self.handleMessageQueue.async {
/host/spi-builder-workspace/Sources/Models/ServerSyncJob.swift:3:6: note: consider making enum 'ServerSyncJob' conform to the 'Sendable' protocol
1 | import Foundation
2 |
3 | enum ServerSyncJob {
| `- note: consider making enum 'ServerSyncJob' conform to the 'Sendable' protocol
4 | case startJob(instanceId: String, token: String)
5 | case refreshTokenJob(newToken: String)
/host/spi-builder-workspace/Sources/Services/ServerSyncProcessHandler.swift:71:17: warning: capture of 'self' with non-sendable type 'ServerSyncProcessHandler' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1 | import Foundation
2 |
3 | class ServerSyncProcessHandler {
| `- note: class 'ServerSyncProcessHandler' does not conform to the 'Sendable' protocol
4 | private static let serverSyncHandlersQueue = DispatchQueue(label: "com.pusher.beams.serverSyncHandlersQueue")
5 | private static var serverSyncHandlers = [String: ServerSyncProcessHandler]()
:
69 |
70 | self.handleMessageQueue.async {
71 | self.handleMessage(serverSyncJob: serverSyncJob)
| `- warning: capture of 'self' with non-sendable type 'ServerSyncProcessHandler' in a `@Sendable` closure; this is an error in the Swift 6 language mode
72 | }
73 | }
/host/spi-builder-workspace/Sources/Services/ServerSyncProcessHandler.swift:71:51: warning: capture of 'serverSyncJob' with non-sendable type 'ServerSyncJob' in a `@Sendable` closure; this is an error in the Swift 6 language mode
69 |
70 | self.handleMessageQueue.async {
71 | self.handleMessage(serverSyncJob: serverSyncJob)
| `- warning: capture of 'serverSyncJob' with non-sendable type 'ServerSyncJob' in a `@Sendable` closure; this is an error in the Swift 6 language mode
72 | }
73 | }
/host/spi-builder-workspace/Sources/Models/ServerSyncJob.swift:3:6: note: consider making enum 'ServerSyncJob' conform to the 'Sendable' protocol
1 | import Foundation
2 |
3 | enum ServerSyncJob {
| `- note: consider making enum 'ServerSyncJob' conform to the 'Sendable' protocol
4 | case startJob(instanceId: String, token: String)
5 | case refreshTokenJob(newToken: String)
/host/spi-builder-workspace/Sources/Models/Metadata.swift:8:16: warning: static property 'current' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
6 | let macosVersion: String?
7 |
8 | static var current: Metadata = {
| |- warning: static property 'current' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'current' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'current' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
9 | let sdkVersion = SDK.version
10 | let systemVersion = SystemVersion.version
[9/46] Compiling PushNotifications RemoteNotificationType.swift
/host/spi-builder-workspace/Sources/Models/SystemVersion.swift:5:38: error: 'ProcessInfo' initializer is inaccessible due to 'internal' protection level
3 | struct SystemVersion {
4 | static var version: String {
5 | let operatingSystemVersion = ProcessInfo().operatingSystemVersion
| `- error: 'ProcessInfo' initializer is inaccessible due to 'internal' protection level
6 | let majorVersion = operatingSystemVersion.majorVersion
7 | let minorVersion = operatingSystemVersion.minorVersion
Foundation.ProcessInfo (internal):3:23: note: 'init()' declared here
1 | open class ProcessInfo : NSObject {
2 | public static let processInfo: ProcessInfo
3 | override internal init()
| `- note: 'init()' declared here
4 | open var environment: [String : String] { get }
5 | open var arguments: [String] { get }
[10/46] Compiling PushNotifications SDK.swift
/host/spi-builder-workspace/Sources/Models/SystemVersion.swift:5:38: error: 'ProcessInfo' initializer is inaccessible due to 'internal' protection level
3 | struct SystemVersion {
4 | static var version: String {
5 | let operatingSystemVersion = ProcessInfo().operatingSystemVersion
| `- error: 'ProcessInfo' initializer is inaccessible due to 'internal' protection level
6 | let majorVersion = operatingSystemVersion.majorVersion
7 | let minorVersion = operatingSystemVersion.minorVersion
Foundation.ProcessInfo (internal):3:23: note: 'init()' declared here
1 | open class ProcessInfo : NSObject {
2 | public static let processInfo: ProcessInfo
3 | override internal init()
| `- note: 'init()' declared here
4 | open var environment: [String : String] { get }
5 | open var arguments: [String] { get }
[11/46] Compiling PushNotifications ServerSyncEvent.swift
/host/spi-builder-workspace/Sources/Models/SystemVersion.swift:5:38: error: 'ProcessInfo' initializer is inaccessible due to 'internal' protection level
3 | struct SystemVersion {
4 | static var version: String {
5 | let operatingSystemVersion = ProcessInfo().operatingSystemVersion
| `- error: 'ProcessInfo' initializer is inaccessible due to 'internal' protection level
6 | let majorVersion = operatingSystemVersion.majorVersion
7 | let minorVersion = operatingSystemVersion.minorVersion
Foundation.ProcessInfo (internal):3:23: note: 'init()' declared here
1 | open class ProcessInfo : NSObject {
2 | public static let processInfo: ProcessInfo
3 | override internal init()
| `- note: 'init()' declared here
4 | open var environment: [String : String] { get }
5 | open var arguments: [String] { get }
[12/46] Compiling PushNotifications ServerSyncJob.swift
/host/spi-builder-workspace/Sources/Models/SystemVersion.swift:5:38: error: 'ProcessInfo' initializer is inaccessible due to 'internal' protection level
3 | struct SystemVersion {
4 | static var version: String {
5 | let operatingSystemVersion = ProcessInfo().operatingSystemVersion
| `- error: 'ProcessInfo' initializer is inaccessible due to 'internal' protection level
6 | let majorVersion = operatingSystemVersion.majorVersion
7 | let minorVersion = operatingSystemVersion.minorVersion
Foundation.ProcessInfo (internal):3:23: note: 'init()' declared here
1 | open class ProcessInfo : NSObject {
2 | public static let processInfo: ProcessInfo
3 | override internal init()
| `- note: 'init()' declared here
4 | open var environment: [String : String] { get }
5 | open var arguments: [String] { get }
[13/46] Compiling PushNotifications SystemVersion.swift
/host/spi-builder-workspace/Sources/Models/SystemVersion.swift:5:38: error: 'ProcessInfo' initializer is inaccessible due to 'internal' protection level
3 | struct SystemVersion {
4 | static var version: String {
5 | let operatingSystemVersion = ProcessInfo().operatingSystemVersion
| `- error: 'ProcessInfo' initializer is inaccessible due to 'internal' protection level
6 | let majorVersion = operatingSystemVersion.majorVersion
7 | let minorVersion = operatingSystemVersion.minorVersion
Foundation.ProcessInfo (internal):3:23: note: 'init()' declared here
1 | open class ProcessInfo : NSObject {
2 | public static let processInfo: ProcessInfo
3 | override internal init()
| `- note: 'init()' declared here
4 | open var environment: [String : String] { get }
5 | open var arguments: [String] { get }
[14/46] Compiling PushNotifications AuthData.swift
/host/spi-builder-workspace/Sources/Models/AuthData.swift:4:2: error: Objective-C interoperability is disabled
2 |
3 | /// Authentication data that is provided to a `TokenProvider`, such as `BeamsTokenProvider`.
4 | @objc public class AuthData: NSObject {
| `- error: Objective-C interoperability is disabled
5 |
6 | /// The headers to attach to the `URLRequest` triggered by the `TokenProvider` when calling `fetchToken(userId:completion:)`.
/host/spi-builder-workspace/Sources/Models/AuthData.swift:16:6: error: Objective-C interoperability is disabled
14 | /// - headers: A `Dictionary` of header key / value pairs.
15 | /// - queryParams: A `Dictionary` of query parameters key / value pairs.
16 | @objc public init(headers: [String: String], queryParams: [String: String]) {
| `- error: Objective-C interoperability is disabled
17 | self.headers = headers
18 | self.queryParams = queryParams
[15/46] Compiling PushNotifications Constants.swift
/host/spi-builder-workspace/Sources/Models/AuthData.swift:4:2: error: Objective-C interoperability is disabled
2 |
3 | /// Authentication data that is provided to a `TokenProvider`, such as `BeamsTokenProvider`.
4 | @objc public class AuthData: NSObject {
| `- error: Objective-C interoperability is disabled
5 |
6 | /// The headers to attach to the `URLRequest` triggered by the `TokenProvider` when calling `fetchToken(userId:completion:)`.
/host/spi-builder-workspace/Sources/Models/AuthData.swift:16:6: error: Objective-C interoperability is disabled
14 | /// - headers: A `Dictionary` of header key / value pairs.
15 | /// - queryParams: A `Dictionary` of query parameters key / value pairs.
16 | @objc public init(headers: [String: String], queryParams: [String: String]) {
| `- error: Objective-C interoperability is disabled
17 | self.headers = headers
18 | self.queryParams = queryParams
[16/46] Compiling PushNotifications Device.swift
/host/spi-builder-workspace/Sources/Models/AuthData.swift:4:2: error: Objective-C interoperability is disabled
2 |
3 | /// Authentication data that is provided to a `TokenProvider`, such as `BeamsTokenProvider`.
4 | @objc public class AuthData: NSObject {
| `- error: Objective-C interoperability is disabled
5 |
6 | /// The headers to attach to the `URLRequest` triggered by the `TokenProvider` when calling `fetchToken(userId:completion:)`.
/host/spi-builder-workspace/Sources/Models/AuthData.swift:16:6: error: Objective-C interoperability is disabled
14 | /// - headers: A `Dictionary` of header key / value pairs.
15 | /// - queryParams: A `Dictionary` of query parameters key / value pairs.
16 | @objc public init(headers: [String: String], queryParams: [String: String]) {
| `- error: Objective-C interoperability is disabled
17 | self.headers = headers
18 | self.queryParams = queryParams
[17/46] Compiling PushNotifications FeatureFlags.swift
/host/spi-builder-workspace/Sources/Models/AuthData.swift:4:2: error: Objective-C interoperability is disabled
2 |
3 | /// Authentication data that is provided to a `TokenProvider`, such as `BeamsTokenProvider`.
4 | @objc public class AuthData: NSObject {
| `- error: Objective-C interoperability is disabled
5 |
6 | /// The headers to attach to the `URLRequest` triggered by the `TokenProvider` when calling `fetchToken(userId:completion:)`.
/host/spi-builder-workspace/Sources/Models/AuthData.swift:16:6: error: Objective-C interoperability is disabled
14 | /// - headers: A `Dictionary` of header key / value pairs.
15 | /// - queryParams: A `Dictionary` of query parameters key / value pairs.
16 | @objc public init(headers: [String: String], queryParams: [String: String]) {
| `- error: Objective-C interoperability is disabled
17 | self.headers = headers
18 | self.queryParams = queryParams
[18/46] Compiling PushNotifications HTTPMethod.swift
/host/spi-builder-workspace/Sources/Models/AuthData.swift:4:2: error: Objective-C interoperability is disabled
2 |
3 | /// Authentication data that is provided to a `TokenProvider`, such as `BeamsTokenProvider`.
4 | @objc public class AuthData: NSObject {
| `- error: Objective-C interoperability is disabled
5 |
6 | /// The headers to attach to the `URLRequest` triggered by the `TokenProvider` when calling `fetchToken(userId:completion:)`.
/host/spi-builder-workspace/Sources/Models/AuthData.swift:16:6: error: Objective-C interoperability is disabled
14 | /// - headers: A `Dictionary` of header key / value pairs.
15 | /// - queryParams: A `Dictionary` of query parameters key / value pairs.
16 | @objc public init(headers: [String: String], queryParams: [String: String]) {
| `- error: Objective-C interoperability is disabled
17 | self.headers = headers
18 | self.queryParams = queryParams
[19/46] Compiling PushNotifications InstanceId.swift
/host/spi-builder-workspace/Sources/Models/AuthData.swift:4:2: error: Objective-C interoperability is disabled
2 |
3 | /// Authentication data that is provided to a `TokenProvider`, such as `BeamsTokenProvider`.
4 | @objc public class AuthData: NSObject {
| `- error: Objective-C interoperability is disabled
5 |
6 | /// The headers to attach to the `URLRequest` triggered by the `TokenProvider` when calling `fetchToken(userId:completion:)`.
/host/spi-builder-workspace/Sources/Models/AuthData.swift:16:6: error: Objective-C interoperability is disabled
14 | /// - headers: A `Dictionary` of header key / value pairs.
15 | /// - queryParams: A `Dictionary` of query parameters key / value pairs.
16 | @objc public init(headers: [String: String], queryParams: [String: String]) {
| `- error: Objective-C interoperability is disabled
17 | self.headers = headers
18 | self.queryParams = queryParams
[20/46] Compiling PushNotifications InterestValidationError.swift
/host/spi-builder-workspace/Sources/Models/Metadata.swift:8:16: warning: static property 'current' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
6 | let macosVersion: String?
7 |
8 | static var current: Metadata = {
| |- warning: static property 'current' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'current' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'current' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
9 | let sdkVersion = SDK.version
10 | let systemVersion = SystemVersion.version
/host/spi-builder-workspace/Sources/Models/Metadata.swift:17:5: error: missing return in closure expected to return 'Metadata'
15 | return Metadata(sdkVersion: sdkVersion, iosVersion: nil, macosVersion: systemVersion)
16 | #endif
17 | }()
| `- error: missing return in closure expected to return 'Metadata'
18 | }
19 |
[21/46] Compiling PushNotifications Interests.swift
/host/spi-builder-workspace/Sources/Models/Metadata.swift:8:16: warning: static property 'current' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
6 | let macosVersion: String?
7 |
8 | static var current: Metadata = {
| |- warning: static property 'current' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'current' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'current' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
9 | let sdkVersion = SDK.version
10 | let systemVersion = SystemVersion.version
/host/spi-builder-workspace/Sources/Models/Metadata.swift:17:5: error: missing return in closure expected to return 'Metadata'
15 | return Metadata(sdkVersion: sdkVersion, iosVersion: nil, macosVersion: systemVersion)
16 | #endif
17 | }()
| `- error: missing return in closure expected to return 'Metadata'
18 | }
19 |
[22/46] Compiling PushNotifications Metadata.swift
/host/spi-builder-workspace/Sources/Models/Metadata.swift:8:16: warning: static property 'current' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
6 | let macosVersion: String?
7 |
8 | static var current: Metadata = {
| |- warning: static property 'current' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'current' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'current' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
9 | let sdkVersion = SDK.version
10 | let systemVersion = SystemVersion.version
/host/spi-builder-workspace/Sources/Models/Metadata.swift:17:5: error: missing return in closure expected to return 'Metadata'
15 | return Metadata(sdkVersion: sdkVersion, iosVersion: nil, macosVersion: systemVersion)
16 | #endif
17 | }()
| `- error: missing return in closure expected to return 'Metadata'
18 | }
19 |
[23/46] Compiling PushNotifications MultipleInvalidInterestsError.swift
/host/spi-builder-workspace/Sources/Models/Metadata.swift:8:16: warning: static property 'current' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
6 | let macosVersion: String?
7 |
8 | static var current: Metadata = {
| |- warning: static property 'current' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'current' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'current' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
9 | let sdkVersion = SDK.version
10 | let systemVersion = SystemVersion.version
/host/spi-builder-workspace/Sources/Models/Metadata.swift:17:5: error: missing return in closure expected to return 'Metadata'
15 | return Metadata(sdkVersion: sdkVersion, iosVersion: nil, macosVersion: systemVersion)
16 | #endif
17 | }()
| `- error: missing return in closure expected to return 'Metadata'
18 | }
19 |
[24/46] Compiling PushNotifications PersistenceConstants.swift
/host/spi-builder-workspace/Sources/Models/Metadata.swift:8:16: warning: static property 'current' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
6 | let macosVersion: String?
7 |
8 | static var current: Metadata = {
| |- warning: static property 'current' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'current' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'current' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
9 | let sdkVersion = SDK.version
10 | let systemVersion = SystemVersion.version
/host/spi-builder-workspace/Sources/Models/Metadata.swift:17:5: error: missing return in closure expected to return 'Metadata'
15 | return Metadata(sdkVersion: sdkVersion, iosVersion: nil, macosVersion: systemVersion)
16 | #endif
17 | }()
| `- error: missing return in closure expected to return 'Metadata'
18 | }
19 |
[25/46] Compiling PushNotifications PublishId.swift
/host/spi-builder-workspace/Sources/Models/Metadata.swift:8:16: warning: static property 'current' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
6 | let macosVersion: String?
7 |
8 | static var current: Metadata = {
| |- warning: static property 'current' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'current' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'current' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
9 | let sdkVersion = SDK.version
10 | let systemVersion = SystemVersion.version
/host/spi-builder-workspace/Sources/Models/Metadata.swift:17:5: error: missing return in closure expected to return 'Metadata'
15 | return Metadata(sdkVersion: sdkVersion, iosVersion: nil, macosVersion: systemVersion)
16 | #endif
17 | }()
| `- error: missing return in closure expected to return 'Metadata'
18 | }
19 |
[26/46] Compiling PushNotifications TokenProvider.swift
/host/spi-builder-workspace/Sources/Protocols/TokenProvider.swift:24:2: error: Objective-C interoperability is disabled
22 | Conform to the TokenProvider protocol in order to generate the token for the user that you want to authenticate.
23 | */
24 | @objc public protocol TokenProvider {
| `- error: Objective-C interoperability is disabled
25 | /**
26 | Method `fetchToken` will return the token on success or error on failure.
/host/spi-builder-workspace/Sources/PushNotifications.swift:11:2: error: Objective-C interoperability is disabled
9 |
10 | /// The top-level entrypoint to the Beams Swift SDK.
11 | @objc public final class PushNotifications: NSObject {
| `- error: Objective-C interoperability is disabled
12 |
13 | let instanceId: String
/host/spi-builder-workspace/Sources/PushNotifications.swift:22:6: error: Objective-C interoperability is disabled
20 | /// Creates a `PushNotifications` object with a given `instanceId`.
21 | /// - Parameter instanceId: The instance identifier (from your app dashboard).
22 | @objc public init(instanceId: String) {
| `- error: Objective-C interoperability is disabled
23 | self.instanceId = instanceId
24 | self.deviceStateStore = InstanceDeviceStateStore(instanceId)
/host/spi-builder-workspace/Sources/PushNotifications.swift:35:6: error: Objective-C interoperability is disabled
33 | /// Returns a shared singleton PushNotifications object
34 | /// that can be accessed from anywhere in your project.
35 | @objc public static let shared = PushNotificationsStatic.self
| `- error: Objective-C interoperability is disabled
36 |
37 | private lazy var serverSyncHandler = ServerSyncProcessHandler.obtain(
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:18:16: warning: static property 'tokenProvider' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
16 |
17 | private static var instance: PushNotifications?
18 | static var tokenProvider = [String: TokenProvider]()
| |- warning: static property 'tokenProvider' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'tokenProvider' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'tokenProvider' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
19 |
20 | /**
/host/spi-builder-workspace/Sources/PushNotifications.swift:51:6: error: Objective-C interoperability is disabled
49 | */
50 | /// - Tag: start
51 | @objc public func start() {
| `- error: Objective-C interoperability is disabled
52 | if UUID(uuidString: instanceId) == nil {
53 | print("[PushNotifications]: '\(instanceId)' is not a valid instance id.")
/host/spi-builder-workspace/Sources/PushNotifications.swift:78:6: error: Objective-C interoperability is disabled
76 | */
77 | /// - Tag: register
78 | @objc public func registerForRemoteNotifications() {
| `- error: Objective-C interoperability is disabled
79 | PushNotificationsStatic.registerForRemoteNotifications()
80 | }
/host/spi-builder-workspace/Sources/PushNotifications.swift:110:6: error: Objective-C interoperability is disabled
108 | */
109 | /// - Tag: setUserId
110 | @objc public func setUserId(_ userId: String, tokenProvider: TokenProvider, completion: @escaping (Error?) -> Void) {
| `- error: Objective-C interoperability is disabled
111 | if startHasBeenCalledThisSession == false {
112 | completion(PushNotificationsError.error("[PushNotifications] - `start` method must be called before setting `userId`"))
/host/spi-builder-workspace/Sources/PushNotifications.swift:162:6: error: Objective-C interoperability is disabled
160 | */
161 | /// - Tag: getUserId
162 | @objc public func getUserId() -> String? {
| `- error: Objective-C interoperability is disabled
163 | return InstanceDeviceStateStore.synchronize {
164 | return self.deviceStateStore.getUserId()
/host/spi-builder-workspace/Sources/PushNotifications.swift:168:6: error: Objective-C interoperability is disabled
166 | }
167 |
168 | @objc private func printHelpfulMessage() {
| `- error: Objective-C interoperability is disabled
169 | print("[PushNotifications] - It looks like setUserId hasn't completed yet -- have you called `registerDeviceToken`?")
170 | }
/host/spi-builder-workspace/Sources/PushNotifications.swift:179:6: error: Objective-C interoperability is disabled
177 | */
178 | /// - Tag: stop
179 | @objc public func stop(completion: @escaping () -> Void) {
| `- error: Objective-C interoperability is disabled
180 | let hadAnyInterests: Bool = InstanceDeviceStateStore.synchronize {
181 | let hadAnyInterests = self.deviceStateStore.getInterests()?.isEmpty ?? false
/host/spi-builder-workspace/Sources/PushNotifications.swift:208:6: error: Objective-C interoperability is disabled
206 | */
207 | /// - Tag: clearAllState
208 | @objc public func clearAllState(completion: @escaping () -> Void) {
| `- error: Objective-C interoperability is disabled
209 | let storedAPNsToken = self.deviceStateStore.getAPNsToken()
210 | let hasStartAlreadyBeenCalled = self.deviceStateStore.getStartJobHasBeenEnqueued()
/host/spi-builder-workspace/Sources/PushNotifications.swift:230:6: error: Objective-C interoperability is disabled
228 | */
229 | /// - Tag: registerDeviceToken
230 | @objc public func registerDeviceToken(_ deviceToken: Data) {
| `- error: Objective-C interoperability is disabled
231 | PushNotificationsStatic.registerDeviceToken(deviceToken)
232 | }
/host/spi-builder-workspace/Sources/PushNotifications.swift:244:6: error: Objective-C interoperability is disabled
242 | */
243 | /// - Tag: addDeviceInterest
244 | @objc public func addDeviceInterest(interest: String) throws {
| `- error: Objective-C interoperability is disabled
245 | guard self.validateInterestName(interest) else {
246 | throw InvalidInterestError.invalidName(interest)
/host/spi-builder-workspace/Sources/PushNotifications.swift:270:6: error: Objective-C interoperability is disabled
268 | */
269 | /// - Tag: setDeviceInterests
270 | @objc public func setDeviceInterests(interests: [String]) throws {
| `- error: Objective-C interoperability is disabled
271 | if let invalidInterests = self.validateInterestNames(interests), invalidInterests.count > 0 {
272 | throw MultipleInvalidInterestsError.invalidNames(invalidInterests)
/host/spi-builder-workspace/Sources/PushNotifications.swift:295:7: error: Objective-C interoperability is disabled
293 | */
294 | /// - Tag: removeDeviceInterest
295 | @objc public func removeDeviceInterest(interest: String) throws {
| `- error: Objective-C interoperability is disabled
296 | guard self.validateInterestName(interest) else {
297 | throw InvalidInterestError.invalidName(interest)
/host/spi-builder-workspace/Sources/PushNotifications.swift:312:6: error: Objective-C interoperability is disabled
310 | /// Unsubscribes the device from all the interests.
311 | /// - Tag: clearDeviceInterests
312 | @objc public func clearDeviceInterests() throws {
| `- error: Objective-C interoperability is disabled
313 | try self.setDeviceInterests(interests: [])
314 | }
/host/spi-builder-workspace/Sources/PushNotifications.swift:322:6: error: Objective-C interoperability is disabled
320 | */
321 | /// - Tag: getDeviceInterests
322 | @objc public func getDeviceInterests() -> [String]? {
| `- error: Objective-C interoperability is disabled
323 | return InstanceDeviceStateStore.synchronize {
324 | return self.deviceStateStore.getInterests()
/host/spi-builder-workspace/Sources/PushNotifications.swift:345:6: error: Objective-C interoperability is disabled
343 | /// - Tag: handleNotification
344 | @discardableResult
345 | @objc public func handleNotification(userInfo: [AnyHashable: Any]) -> RemoteNotificationType {
| `- error: Objective-C interoperability is disabled
346 | return PushNotificationsStatic.handleNotification(userInfo: userInfo)
347 | }
/host/spi-builder-workspace/Sources/PushNotifications.swift:364:2: error: Objective-C interoperability is disabled
362 | Method `interestsSetOnDeviceDidChange(interests:)` will be called when interests set changes.
363 | */
364 | @objc public protocol InterestsChangedDelegate: AnyObject {
| `- error: Objective-C interoperability is disabled
365 | /**
366 | Tells the delegate that the device's interests subscriptions list has changed.
/host/spi-builder-workspace/Sources/Models/Metadata.swift:8:16: warning: static property 'current' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
6 | let macosVersion: String?
7 |
8 | static var current: Metadata = {
| |- warning: static property 'current' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'current' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'current' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
9 | let sdkVersion = SDK.version
10 | let systemVersion = SystemVersion.version
/host/spi-builder-workspace/Sources/PushNotifications.swift:141:91: error: '#selector' can only be used with the Objective-C runtime
139 | }
140 |
141 | let helpfulTimer = Timer.scheduledTimer(timeInterval: 15, target: self, selector: #selector(printHelpfulMessage), userInfo: nil, repeats: false)
| `- error: '#selector' can only be used with the Objective-C runtime
142 |
143 | let wrapperCompletion: (Error?) -> Void = { error in
/host/spi-builder-workspace/Sources/PushNotifications.swift:351:37: error: 'init(format:_:)' has been renamed to 'init(block:)': Predicate strings and key-value coding are not supported in swift-corelibs-foundation. Use a closure instead if possible.
349 | private func validateInterestName(_ interest: String) -> Bool {
350 | let interestNameRegex = "^[a-zA-Z0-9_\\-=@,.;]{1,164}$"
351 | let interestNamePredicate = NSPredicate(format: "SELF MATCHES %@", interestNameRegex)
| `- error: 'init(format:_:)' has been renamed to 'init(block:)': Predicate strings and key-value coding are not supported in swift-corelibs-foundation. Use a closure instead if possible.
352 | return interestNamePredicate.evaluate(with: interest)
353 | }
Foundation.NSPredicate:3:24: note: 'init(format:_:)' has been explicitly marked unavailable here
1 | extension NSPredicate {
2 | @available(*, unavailable, renamed: "init(block:)", message: "Predicate strings and key-value coding are not supported in swift-corelibs-foundation. Use a closure instead if possible.")
3 | public convenience init(format predicateFormat: String, _ args: any CVarArg...)
| `- note: 'init(format:_:)' has been explicitly marked unavailable here
4 | }
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:11:2: error: Objective-C interoperability is disabled
9 |
10 | /// A static equivalent of the `PushNotifications` type.
11 | @objc public final class PushNotificationsStatic: NSObject {
| `- error: Objective-C interoperability is disabled
12 |
13 | override private init() {
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:17:24: warning: static property 'instance' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
15 | }
16 |
17 | private static var instance: PushNotifications?
| |- warning: static property 'instance' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'instance' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'instance' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
18 | static var tokenProvider = [String: TokenProvider]()
19 |
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:28:6: error: Objective-C interoperability is disabled
26 | */
27 | /// - Tag: start
28 | @objc public static func start(instanceId: String) {
| `- error: Objective-C interoperability is disabled
29 | if instance == nil {
30 | instance = PushNotifications(instanceId: instanceId)
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:50:6: error: Objective-C interoperability is disabled
48 | */
49 | /// - Tag: register
50 | @objc public static func registerForRemoteNotifications() {
| `- error: Objective-C interoperability is disabled
51 | self.registerForPushNotifications(options: [.alert, .sound, .badge])
52 | }
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:102:6: error: Objective-C interoperability is disabled
100 | */
101 | /// - Tag: setUserId
102 | @objc public static func setUserId(_ userId: String, tokenProvider: TokenProvider, completion: @escaping (Error?) -> Void) {
| `- error: Objective-C interoperability is disabled
103 | if let staticInstance = instance {
104 | staticInstance.setUserId(userId, tokenProvider: tokenProvider, completion: completion)
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:116:6: error: Objective-C interoperability is disabled
114 | */
115 | /// - Tag: getUserId
116 | @objc public static func getUserId() -> String? {
| `- error: Objective-C interoperability is disabled
117 | if let staticInstance = instance {
118 | return staticInstance.getUserId()
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:130:6: error: Objective-C interoperability is disabled
128 | */
129 | /// - Tag: stop
130 | @objc public static func stop(completion: @escaping () -> Void) {
| `- error: Objective-C interoperability is disabled
131 | let instances = DeviceStateStore().getInstanceIds()
132 | let dispatchGroup = DispatchGroup()
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:152:6: error: Objective-C interoperability is disabled
150 | */
151 | /// - Tag: clearAllState
152 | @objc public static func clearAllState(completion: @escaping () -> Void) {
| `- error: Objective-C interoperability is disabled
153 | let instances = DeviceStateStore().getInstanceIds()
154 | let dispatchGroup = DispatchGroup()
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:174:6: error: Objective-C interoperability is disabled
172 | */
173 | /// - Tag: registerDeviceToken
174 | @objc public static func registerDeviceToken(_ deviceToken: Data) {
| `- error: Objective-C interoperability is disabled
175 | let instances = DeviceStateStore().getInstanceIds()
176 | var hasAnInstanceBeenStarted = false
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:205:6: error: Objective-C interoperability is disabled
203 | */
204 | /// - Tag: addDeviceInterest
205 | @objc public static func addDeviceInterest(interest: String) throws {
| `- error: Objective-C interoperability is disabled
206 | if let staticInstance = instance {
207 | try staticInstance.addDeviceInterest(interest: interest)
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:224:6: error: Objective-C interoperability is disabled
222 | */
223 | /// - Tag: setDeviceInterests
224 | @objc public static func setDeviceInterests(interests: [String]) throws {
| `- error: Objective-C interoperability is disabled
225 | if let staticInstance = instance {
226 | try staticInstance.setDeviceInterests(interests: interests)
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:242:6: error: Objective-C interoperability is disabled
240 | */
241 | /// - Tag: removeDeviceInterest
242 | @objc public static func removeDeviceInterest(interest: String) throws {
| `- error: Objective-C interoperability is disabled
243 | if let staticInstance = instance {
244 | try staticInstance.removeDeviceInterest(interest: interest)
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:252:6: error: Objective-C interoperability is disabled
250 | /// Unsubscribes the device from all the interests.
251 | /// - Tag: clearDeviceInterests
252 | @objc public static func clearDeviceInterests() throws {
| `- error: Objective-C interoperability is disabled
253 | if let staticInstance = instance {
254 | try staticInstance.clearDeviceInterests()
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:266:6: error: Objective-C interoperability is disabled
264 | */
265 | /// - Tag: getDeviceInterests
266 | @objc public static func getDeviceInterests() -> [String]? {
| `- error: Objective-C interoperability is disabled
267 | if let staticInstance = instance {
268 | return staticInstance.getDeviceInterests()
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:281:6: error: Objective-C interoperability is disabled
279 | /// - Tag: handleNotification
280 | @discardableResult
281 | @objc public static func handleNotification(userInfo: [AnyHashable: Any]) -> RemoteNotificationType {
| `- error: Objective-C interoperability is disabled
282 | guard FeatureFlags.DeliveryTrackingEnabled else {
283 | return .ShouldProcess
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:51:14: error: type 'PushNotificationsStatic' has no member 'registerForPushNotifications'
49 | /// - Tag: register
50 | @objc public static func registerForRemoteNotifications() {
51 | self.registerForPushNotifications(options: [.alert, .sound, .badge])
| `- error: type 'PushNotificationsStatic' has no member 'registerForPushNotifications'
52 | }
53 |
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:51:54: error: reference to member 'alert' cannot be resolved without a contextual type
49 | /// - Tag: register
50 | @objc public static func registerForRemoteNotifications() {
51 | self.registerForPushNotifications(options: [.alert, .sound, .badge])
| `- error: reference to member 'alert' cannot be resolved without a contextual type
52 | }
53 |
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:51:62: error: reference to member 'sound' cannot be resolved without a contextual type
49 | /// - Tag: register
50 | @objc public static func registerForRemoteNotifications() {
51 | self.registerForPushNotifications(options: [.alert, .sound, .badge])
| `- error: reference to member 'sound' cannot be resolved without a contextual type
52 | }
53 |
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:51:70: error: reference to member 'badge' cannot be resolved without a contextual type
49 | /// - Tag: register
50 | @objc public static func registerForRemoteNotifications() {
51 | self.registerForPushNotifications(options: [.alert, .sound, .badge])
| `- error: reference to member 'badge' cannot be resolved without a contextual type
52 | }
53 |
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:297:84: error: cannot find 'eventType' in scope
295 | #endif
296 |
297 | let serverSyncProcessHandler = ServerSyncProcessHandler.obtain(instanceId: eventType.getInstanceId())
| `- error: cannot find 'eventType' in scope
298 | serverSyncProcessHandler?.sendMessage(serverSyncJob: .reportEventJob(eventType: eventType))
299 |
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:298:89: error: cannot find 'eventType' in scope
296 |
297 | let serverSyncProcessHandler = ServerSyncProcessHandler.obtain(instanceId: eventType.getInstanceId())
298 | serverSyncProcessHandler?.sendMessage(serverSyncJob: .reportEventJob(eventType: eventType))
| `- error: cannot find 'eventType' in scope
299 |
300 | return EventTypeHandler.getRemoteNotificationType(userInfo)
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:298:63: error: cannot infer contextual base in reference to member 'reportEventJob'
296 |
297 | let serverSyncProcessHandler = ServerSyncProcessHandler.obtain(instanceId: eventType.getInstanceId())
298 | serverSyncProcessHandler?.sendMessage(serverSyncJob: .reportEventJob(eventType: eventType))
| `- error: cannot infer contextual base in reference to member 'reportEventJob'
299 |
300 | return EventTypeHandler.getRemoteNotificationType(userInfo)
/host/spi-builder-workspace/Sources/Services/BeamsTokenProvider.swift:4:2: error: Objective-C interoperability is disabled
2 |
3 | /// Used to generate tokens for users to authenticate against.
4 | @objc public final class BeamsTokenProvider: NSObject, TokenProvider {
| `- error: Objective-C interoperability is disabled
5 |
6 | /// The authentication endpoint URL `String`.
/host/spi-builder-workspace/Sources/Services/BeamsTokenProvider.swift:16:6: error: Objective-C interoperability is disabled
14 | /// - authURL: The authentication endpoint URL `String`.
15 | /// - getAuthData: A closure that returns an `AuthData` object.
16 | @objc public init(authURL: String, getAuthData: @escaping () -> (AuthData)) {
| `- error: Objective-C interoperability is disabled
17 | self.authURL = authURL
18 | self.getAuthData = getAuthData
/host/spi-builder-workspace/Sources/Services/BeamsTokenProvider.swift:30:26: error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
28 | let queryParams = authData.queryParams
29 |
30 | let urlSession = URLSession(configuration: .ephemeral)
| `- error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
31 |
32 | guard var components = URLComponents(string: authURL) else {
/host/spi-builder-workspace/Sources/Services/BeamsTokenProvider.swift:30:53: error: cannot infer contextual base in reference to member 'ephemeral'
28 | let queryParams = authData.queryParams
29 |
30 | let urlSession = URLSession(configuration: .ephemeral)
| `- error: cannot infer contextual base in reference to member 'ephemeral'
31 |
32 | guard var components = URLComponents(string: authURL) else {
/host/spi-builder-workspace/Sources/Services/BeamsTokenProvider.swift:43:26: error: cannot find 'URLRequest' in scope
41 | }
42 |
43 | var urlRequest = URLRequest(url: url)
| `- error: cannot find 'URLRequest' in scope
44 | urlRequest.httpMethod = "GET"
45 | for header in headers {
/host/spi-builder-workspace/Sources/Services/BeamsTokenProvider.swift:56:46: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
54 | return completion("", TokenProviderError.error("[PushNotifications] - BeamsTokenProvider: Error while casting response object to `HTTPURLResponse`"))
55 | }
56 | let statusCode = httpURLResponse.statusCode
| `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
57 | guard statusCode >= 200 && statusCode < 300 else {
58 | return completion("", TokenProviderError.error("[PushNotifications] - BeamsTokenProvider: Received HTTP Status Code: \(statusCode)"))
/host/spi-builder-workspace/Sources/Services/DeviceStateStore.swift:206:24: error: value of type 'UserDefaults' has no member 'value'
204 |
205 | func getServerConfirmedInterestsHash() -> String {
206 | return service.value(forKey: PersistenceConstants.PersistenceService.hashKey) as? String ?? ""
| `- error: value of type 'UserDefaults' has no member 'value'
207 | }
208 |
[27/46] Compiling PushNotifications PushNotifications.swift
/host/spi-builder-workspace/Sources/Protocols/TokenProvider.swift:24:2: error: Objective-C interoperability is disabled
22 | Conform to the TokenProvider protocol in order to generate the token for the user that you want to authenticate.
23 | */
24 | @objc public protocol TokenProvider {
| `- error: Objective-C interoperability is disabled
25 | /**
26 | Method `fetchToken` will return the token on success or error on failure.
/host/spi-builder-workspace/Sources/PushNotifications.swift:11:2: error: Objective-C interoperability is disabled
9 |
10 | /// The top-level entrypoint to the Beams Swift SDK.
11 | @objc public final class PushNotifications: NSObject {
| `- error: Objective-C interoperability is disabled
12 |
13 | let instanceId: String
/host/spi-builder-workspace/Sources/PushNotifications.swift:22:6: error: Objective-C interoperability is disabled
20 | /// Creates a `PushNotifications` object with a given `instanceId`.
21 | /// - Parameter instanceId: The instance identifier (from your app dashboard).
22 | @objc public init(instanceId: String) {
| `- error: Objective-C interoperability is disabled
23 | self.instanceId = instanceId
24 | self.deviceStateStore = InstanceDeviceStateStore(instanceId)
/host/spi-builder-workspace/Sources/PushNotifications.swift:35:6: error: Objective-C interoperability is disabled
33 | /// Returns a shared singleton PushNotifications object
34 | /// that can be accessed from anywhere in your project.
35 | @objc public static let shared = PushNotificationsStatic.self
| `- error: Objective-C interoperability is disabled
36 |
37 | private lazy var serverSyncHandler = ServerSyncProcessHandler.obtain(
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:18:16: warning: static property 'tokenProvider' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
16 |
17 | private static var instance: PushNotifications?
18 | static var tokenProvider = [String: TokenProvider]()
| |- warning: static property 'tokenProvider' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'tokenProvider' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'tokenProvider' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
19 |
20 | /**
/host/spi-builder-workspace/Sources/PushNotifications.swift:51:6: error: Objective-C interoperability is disabled
49 | */
50 | /// - Tag: start
51 | @objc public func start() {
| `- error: Objective-C interoperability is disabled
52 | if UUID(uuidString: instanceId) == nil {
53 | print("[PushNotifications]: '\(instanceId)' is not a valid instance id.")
/host/spi-builder-workspace/Sources/PushNotifications.swift:78:6: error: Objective-C interoperability is disabled
76 | */
77 | /// - Tag: register
78 | @objc public func registerForRemoteNotifications() {
| `- error: Objective-C interoperability is disabled
79 | PushNotificationsStatic.registerForRemoteNotifications()
80 | }
/host/spi-builder-workspace/Sources/PushNotifications.swift:110:6: error: Objective-C interoperability is disabled
108 | */
109 | /// - Tag: setUserId
110 | @objc public func setUserId(_ userId: String, tokenProvider: TokenProvider, completion: @escaping (Error?) -> Void) {
| `- error: Objective-C interoperability is disabled
111 | if startHasBeenCalledThisSession == false {
112 | completion(PushNotificationsError.error("[PushNotifications] - `start` method must be called before setting `userId`"))
/host/spi-builder-workspace/Sources/PushNotifications.swift:162:6: error: Objective-C interoperability is disabled
160 | */
161 | /// - Tag: getUserId
162 | @objc public func getUserId() -> String? {
| `- error: Objective-C interoperability is disabled
163 | return InstanceDeviceStateStore.synchronize {
164 | return self.deviceStateStore.getUserId()
/host/spi-builder-workspace/Sources/PushNotifications.swift:168:6: error: Objective-C interoperability is disabled
166 | }
167 |
168 | @objc private func printHelpfulMessage() {
| `- error: Objective-C interoperability is disabled
169 | print("[PushNotifications] - It looks like setUserId hasn't completed yet -- have you called `registerDeviceToken`?")
170 | }
/host/spi-builder-workspace/Sources/PushNotifications.swift:179:6: error: Objective-C interoperability is disabled
177 | */
178 | /// - Tag: stop
179 | @objc public func stop(completion: @escaping () -> Void) {
| `- error: Objective-C interoperability is disabled
180 | let hadAnyInterests: Bool = InstanceDeviceStateStore.synchronize {
181 | let hadAnyInterests = self.deviceStateStore.getInterests()?.isEmpty ?? false
/host/spi-builder-workspace/Sources/PushNotifications.swift:208:6: error: Objective-C interoperability is disabled
206 | */
207 | /// - Tag: clearAllState
208 | @objc public func clearAllState(completion: @escaping () -> Void) {
| `- error: Objective-C interoperability is disabled
209 | let storedAPNsToken = self.deviceStateStore.getAPNsToken()
210 | let hasStartAlreadyBeenCalled = self.deviceStateStore.getStartJobHasBeenEnqueued()
/host/spi-builder-workspace/Sources/PushNotifications.swift:230:6: error: Objective-C interoperability is disabled
228 | */
229 | /// - Tag: registerDeviceToken
230 | @objc public func registerDeviceToken(_ deviceToken: Data) {
| `- error: Objective-C interoperability is disabled
231 | PushNotificationsStatic.registerDeviceToken(deviceToken)
232 | }
/host/spi-builder-workspace/Sources/PushNotifications.swift:244:6: error: Objective-C interoperability is disabled
242 | */
243 | /// - Tag: addDeviceInterest
244 | @objc public func addDeviceInterest(interest: String) throws {
| `- error: Objective-C interoperability is disabled
245 | guard self.validateInterestName(interest) else {
246 | throw InvalidInterestError.invalidName(interest)
/host/spi-builder-workspace/Sources/PushNotifications.swift:270:6: error: Objective-C interoperability is disabled
268 | */
269 | /// - Tag: setDeviceInterests
270 | @objc public func setDeviceInterests(interests: [String]) throws {
| `- error: Objective-C interoperability is disabled
271 | if let invalidInterests = self.validateInterestNames(interests), invalidInterests.count > 0 {
272 | throw MultipleInvalidInterestsError.invalidNames(invalidInterests)
/host/spi-builder-workspace/Sources/PushNotifications.swift:295:7: error: Objective-C interoperability is disabled
293 | */
294 | /// - Tag: removeDeviceInterest
295 | @objc public func removeDeviceInterest(interest: String) throws {
| `- error: Objective-C interoperability is disabled
296 | guard self.validateInterestName(interest) else {
297 | throw InvalidInterestError.invalidName(interest)
/host/spi-builder-workspace/Sources/PushNotifications.swift:312:6: error: Objective-C interoperability is disabled
310 | /// Unsubscribes the device from all the interests.
311 | /// - Tag: clearDeviceInterests
312 | @objc public func clearDeviceInterests() throws {
| `- error: Objective-C interoperability is disabled
313 | try self.setDeviceInterests(interests: [])
314 | }
/host/spi-builder-workspace/Sources/PushNotifications.swift:322:6: error: Objective-C interoperability is disabled
320 | */
321 | /// - Tag: getDeviceInterests
322 | @objc public func getDeviceInterests() -> [String]? {
| `- error: Objective-C interoperability is disabled
323 | return InstanceDeviceStateStore.synchronize {
324 | return self.deviceStateStore.getInterests()
/host/spi-builder-workspace/Sources/PushNotifications.swift:345:6: error: Objective-C interoperability is disabled
343 | /// - Tag: handleNotification
344 | @discardableResult
345 | @objc public func handleNotification(userInfo: [AnyHashable: Any]) -> RemoteNotificationType {
| `- error: Objective-C interoperability is disabled
346 | return PushNotificationsStatic.handleNotification(userInfo: userInfo)
347 | }
/host/spi-builder-workspace/Sources/PushNotifications.swift:364:2: error: Objective-C interoperability is disabled
362 | Method `interestsSetOnDeviceDidChange(interests:)` will be called when interests set changes.
363 | */
364 | @objc public protocol InterestsChangedDelegate: AnyObject {
| `- error: Objective-C interoperability is disabled
365 | /**
366 | Tells the delegate that the device's interests subscriptions list has changed.
/host/spi-builder-workspace/Sources/Models/Metadata.swift:8:16: warning: static property 'current' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
6 | let macosVersion: String?
7 |
8 | static var current: Metadata = {
| |- warning: static property 'current' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'current' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'current' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
9 | let sdkVersion = SDK.version
10 | let systemVersion = SystemVersion.version
/host/spi-builder-workspace/Sources/PushNotifications.swift:141:91: error: '#selector' can only be used with the Objective-C runtime
139 | }
140 |
141 | let helpfulTimer = Timer.scheduledTimer(timeInterval: 15, target: self, selector: #selector(printHelpfulMessage), userInfo: nil, repeats: false)
| `- error: '#selector' can only be used with the Objective-C runtime
142 |
143 | let wrapperCompletion: (Error?) -> Void = { error in
/host/spi-builder-workspace/Sources/PushNotifications.swift:351:37: error: 'init(format:_:)' has been renamed to 'init(block:)': Predicate strings and key-value coding are not supported in swift-corelibs-foundation. Use a closure instead if possible.
349 | private func validateInterestName(_ interest: String) -> Bool {
350 | let interestNameRegex = "^[a-zA-Z0-9_\\-=@,.;]{1,164}$"
351 | let interestNamePredicate = NSPredicate(format: "SELF MATCHES %@", interestNameRegex)
| `- error: 'init(format:_:)' has been renamed to 'init(block:)': Predicate strings and key-value coding are not supported in swift-corelibs-foundation. Use a closure instead if possible.
352 | return interestNamePredicate.evaluate(with: interest)
353 | }
Foundation.NSPredicate:3:24: note: 'init(format:_:)' has been explicitly marked unavailable here
1 | extension NSPredicate {
2 | @available(*, unavailable, renamed: "init(block:)", message: "Predicate strings and key-value coding are not supported in swift-corelibs-foundation. Use a closure instead if possible.")
3 | public convenience init(format predicateFormat: String, _ args: any CVarArg...)
| `- note: 'init(format:_:)' has been explicitly marked unavailable here
4 | }
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:11:2: error: Objective-C interoperability is disabled
9 |
10 | /// A static equivalent of the `PushNotifications` type.
11 | @objc public final class PushNotificationsStatic: NSObject {
| `- error: Objective-C interoperability is disabled
12 |
13 | override private init() {
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:17:24: warning: static property 'instance' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
15 | }
16 |
17 | private static var instance: PushNotifications?
| |- warning: static property 'instance' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'instance' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'instance' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
18 | static var tokenProvider = [String: TokenProvider]()
19 |
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:28:6: error: Objective-C interoperability is disabled
26 | */
27 | /// - Tag: start
28 | @objc public static func start(instanceId: String) {
| `- error: Objective-C interoperability is disabled
29 | if instance == nil {
30 | instance = PushNotifications(instanceId: instanceId)
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:50:6: error: Objective-C interoperability is disabled
48 | */
49 | /// - Tag: register
50 | @objc public static func registerForRemoteNotifications() {
| `- error: Objective-C interoperability is disabled
51 | self.registerForPushNotifications(options: [.alert, .sound, .badge])
52 | }
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:102:6: error: Objective-C interoperability is disabled
100 | */
101 | /// - Tag: setUserId
102 | @objc public static func setUserId(_ userId: String, tokenProvider: TokenProvider, completion: @escaping (Error?) -> Void) {
| `- error: Objective-C interoperability is disabled
103 | if let staticInstance = instance {
104 | staticInstance.setUserId(userId, tokenProvider: tokenProvider, completion: completion)
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:116:6: error: Objective-C interoperability is disabled
114 | */
115 | /// - Tag: getUserId
116 | @objc public static func getUserId() -> String? {
| `- error: Objective-C interoperability is disabled
117 | if let staticInstance = instance {
118 | return staticInstance.getUserId()
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:130:6: error: Objective-C interoperability is disabled
128 | */
129 | /// - Tag: stop
130 | @objc public static func stop(completion: @escaping () -> Void) {
| `- error: Objective-C interoperability is disabled
131 | let instances = DeviceStateStore().getInstanceIds()
132 | let dispatchGroup = DispatchGroup()
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:152:6: error: Objective-C interoperability is disabled
150 | */
151 | /// - Tag: clearAllState
152 | @objc public static func clearAllState(completion: @escaping () -> Void) {
| `- error: Objective-C interoperability is disabled
153 | let instances = DeviceStateStore().getInstanceIds()
154 | let dispatchGroup = DispatchGroup()
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:174:6: error: Objective-C interoperability is disabled
172 | */
173 | /// - Tag: registerDeviceToken
174 | @objc public static func registerDeviceToken(_ deviceToken: Data) {
| `- error: Objective-C interoperability is disabled
175 | let instances = DeviceStateStore().getInstanceIds()
176 | var hasAnInstanceBeenStarted = false
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:205:6: error: Objective-C interoperability is disabled
203 | */
204 | /// - Tag: addDeviceInterest
205 | @objc public static func addDeviceInterest(interest: String) throws {
| `- error: Objective-C interoperability is disabled
206 | if let staticInstance = instance {
207 | try staticInstance.addDeviceInterest(interest: interest)
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:224:6: error: Objective-C interoperability is disabled
222 | */
223 | /// - Tag: setDeviceInterests
224 | @objc public static func setDeviceInterests(interests: [String]) throws {
| `- error: Objective-C interoperability is disabled
225 | if let staticInstance = instance {
226 | try staticInstance.setDeviceInterests(interests: interests)
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:242:6: error: Objective-C interoperability is disabled
240 | */
241 | /// - Tag: removeDeviceInterest
242 | @objc public static func removeDeviceInterest(interest: String) throws {
| `- error: Objective-C interoperability is disabled
243 | if let staticInstance = instance {
244 | try staticInstance.removeDeviceInterest(interest: interest)
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:252:6: error: Objective-C interoperability is disabled
250 | /// Unsubscribes the device from all the interests.
251 | /// - Tag: clearDeviceInterests
252 | @objc public static func clearDeviceInterests() throws {
| `- error: Objective-C interoperability is disabled
253 | if let staticInstance = instance {
254 | try staticInstance.clearDeviceInterests()
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:266:6: error: Objective-C interoperability is disabled
264 | */
265 | /// - Tag: getDeviceInterests
266 | @objc public static func getDeviceInterests() -> [String]? {
| `- error: Objective-C interoperability is disabled
267 | if let staticInstance = instance {
268 | return staticInstance.getDeviceInterests()
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:281:6: error: Objective-C interoperability is disabled
279 | /// - Tag: handleNotification
280 | @discardableResult
281 | @objc public static func handleNotification(userInfo: [AnyHashable: Any]) -> RemoteNotificationType {
| `- error: Objective-C interoperability is disabled
282 | guard FeatureFlags.DeliveryTrackingEnabled else {
283 | return .ShouldProcess
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:51:14: error: type 'PushNotificationsStatic' has no member 'registerForPushNotifications'
49 | /// - Tag: register
50 | @objc public static func registerForRemoteNotifications() {
51 | self.registerForPushNotifications(options: [.alert, .sound, .badge])
| `- error: type 'PushNotificationsStatic' has no member 'registerForPushNotifications'
52 | }
53 |
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:51:54: error: reference to member 'alert' cannot be resolved without a contextual type
49 | /// - Tag: register
50 | @objc public static func registerForRemoteNotifications() {
51 | self.registerForPushNotifications(options: [.alert, .sound, .badge])
| `- error: reference to member 'alert' cannot be resolved without a contextual type
52 | }
53 |
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:51:62: error: reference to member 'sound' cannot be resolved without a contextual type
49 | /// - Tag: register
50 | @objc public static func registerForRemoteNotifications() {
51 | self.registerForPushNotifications(options: [.alert, .sound, .badge])
| `- error: reference to member 'sound' cannot be resolved without a contextual type
52 | }
53 |
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:51:70: error: reference to member 'badge' cannot be resolved without a contextual type
49 | /// - Tag: register
50 | @objc public static func registerForRemoteNotifications() {
51 | self.registerForPushNotifications(options: [.alert, .sound, .badge])
| `- error: reference to member 'badge' cannot be resolved without a contextual type
52 | }
53 |
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:297:84: error: cannot find 'eventType' in scope
295 | #endif
296 |
297 | let serverSyncProcessHandler = ServerSyncProcessHandler.obtain(instanceId: eventType.getInstanceId())
| `- error: cannot find 'eventType' in scope
298 | serverSyncProcessHandler?.sendMessage(serverSyncJob: .reportEventJob(eventType: eventType))
299 |
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:298:89: error: cannot find 'eventType' in scope
296 |
297 | let serverSyncProcessHandler = ServerSyncProcessHandler.obtain(instanceId: eventType.getInstanceId())
298 | serverSyncProcessHandler?.sendMessage(serverSyncJob: .reportEventJob(eventType: eventType))
| `- error: cannot find 'eventType' in scope
299 |
300 | return EventTypeHandler.getRemoteNotificationType(userInfo)
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:298:63: error: cannot infer contextual base in reference to member 'reportEventJob'
296 |
297 | let serverSyncProcessHandler = ServerSyncProcessHandler.obtain(instanceId: eventType.getInstanceId())
298 | serverSyncProcessHandler?.sendMessage(serverSyncJob: .reportEventJob(eventType: eventType))
| `- error: cannot infer contextual base in reference to member 'reportEventJob'
299 |
300 | return EventTypeHandler.getRemoteNotificationType(userInfo)
/host/spi-builder-workspace/Sources/Services/BeamsTokenProvider.swift:4:2: error: Objective-C interoperability is disabled
2 |
3 | /// Used to generate tokens for users to authenticate against.
4 | @objc public final class BeamsTokenProvider: NSObject, TokenProvider {
| `- error: Objective-C interoperability is disabled
5 |
6 | /// The authentication endpoint URL `String`.
/host/spi-builder-workspace/Sources/Services/BeamsTokenProvider.swift:16:6: error: Objective-C interoperability is disabled
14 | /// - authURL: The authentication endpoint URL `String`.
15 | /// - getAuthData: A closure that returns an `AuthData` object.
16 | @objc public init(authURL: String, getAuthData: @escaping () -> (AuthData)) {
| `- error: Objective-C interoperability is disabled
17 | self.authURL = authURL
18 | self.getAuthData = getAuthData
/host/spi-builder-workspace/Sources/Services/BeamsTokenProvider.swift:30:26: error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
28 | let queryParams = authData.queryParams
29 |
30 | let urlSession = URLSession(configuration: .ephemeral)
| `- error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
31 |
32 | guard var components = URLComponents(string: authURL) else {
/host/spi-builder-workspace/Sources/Services/BeamsTokenProvider.swift:30:53: error: cannot infer contextual base in reference to member 'ephemeral'
28 | let queryParams = authData.queryParams
29 |
30 | let urlSession = URLSession(configuration: .ephemeral)
| `- error: cannot infer contextual base in reference to member 'ephemeral'
31 |
32 | guard var components = URLComponents(string: authURL) else {
/host/spi-builder-workspace/Sources/Services/BeamsTokenProvider.swift:43:26: error: cannot find 'URLRequest' in scope
41 | }
42 |
43 | var urlRequest = URLRequest(url: url)
| `- error: cannot find 'URLRequest' in scope
44 | urlRequest.httpMethod = "GET"
45 | for header in headers {
/host/spi-builder-workspace/Sources/Services/BeamsTokenProvider.swift:56:46: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
54 | return completion("", TokenProviderError.error("[PushNotifications] - BeamsTokenProvider: Error while casting response object to `HTTPURLResponse`"))
55 | }
56 | let statusCode = httpURLResponse.statusCode
| `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
57 | guard statusCode >= 200 && statusCode < 300 else {
58 | return completion("", TokenProviderError.error("[PushNotifications] - BeamsTokenProvider: Received HTTP Status Code: \(statusCode)"))
/host/spi-builder-workspace/Sources/Services/DeviceStateStore.swift:206:24: error: value of type 'UserDefaults' has no member 'value'
204 |
205 | func getServerConfirmedInterestsHash() -> String {
206 | return service.value(forKey: PersistenceConstants.PersistenceService.hashKey) as? String ?? ""
| `- error: value of type 'UserDefaults' has no member 'value'
207 | }
208 |
[28/46] Compiling PushNotifications PushNotificationsStatic.swift
/host/spi-builder-workspace/Sources/Protocols/TokenProvider.swift:24:2: error: Objective-C interoperability is disabled
22 | Conform to the TokenProvider protocol in order to generate the token for the user that you want to authenticate.
23 | */
24 | @objc public protocol TokenProvider {
| `- error: Objective-C interoperability is disabled
25 | /**
26 | Method `fetchToken` will return the token on success or error on failure.
/host/spi-builder-workspace/Sources/PushNotifications.swift:11:2: error: Objective-C interoperability is disabled
9 |
10 | /// The top-level entrypoint to the Beams Swift SDK.
11 | @objc public final class PushNotifications: NSObject {
| `- error: Objective-C interoperability is disabled
12 |
13 | let instanceId: String
/host/spi-builder-workspace/Sources/PushNotifications.swift:22:6: error: Objective-C interoperability is disabled
20 | /// Creates a `PushNotifications` object with a given `instanceId`.
21 | /// - Parameter instanceId: The instance identifier (from your app dashboard).
22 | @objc public init(instanceId: String) {
| `- error: Objective-C interoperability is disabled
23 | self.instanceId = instanceId
24 | self.deviceStateStore = InstanceDeviceStateStore(instanceId)
/host/spi-builder-workspace/Sources/PushNotifications.swift:35:6: error: Objective-C interoperability is disabled
33 | /// Returns a shared singleton PushNotifications object
34 | /// that can be accessed from anywhere in your project.
35 | @objc public static let shared = PushNotificationsStatic.self
| `- error: Objective-C interoperability is disabled
36 |
37 | private lazy var serverSyncHandler = ServerSyncProcessHandler.obtain(
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:18:16: warning: static property 'tokenProvider' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
16 |
17 | private static var instance: PushNotifications?
18 | static var tokenProvider = [String: TokenProvider]()
| |- warning: static property 'tokenProvider' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'tokenProvider' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'tokenProvider' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
19 |
20 | /**
/host/spi-builder-workspace/Sources/PushNotifications.swift:51:6: error: Objective-C interoperability is disabled
49 | */
50 | /// - Tag: start
51 | @objc public func start() {
| `- error: Objective-C interoperability is disabled
52 | if UUID(uuidString: instanceId) == nil {
53 | print("[PushNotifications]: '\(instanceId)' is not a valid instance id.")
/host/spi-builder-workspace/Sources/PushNotifications.swift:78:6: error: Objective-C interoperability is disabled
76 | */
77 | /// - Tag: register
78 | @objc public func registerForRemoteNotifications() {
| `- error: Objective-C interoperability is disabled
79 | PushNotificationsStatic.registerForRemoteNotifications()
80 | }
/host/spi-builder-workspace/Sources/PushNotifications.swift:110:6: error: Objective-C interoperability is disabled
108 | */
109 | /// - Tag: setUserId
110 | @objc public func setUserId(_ userId: String, tokenProvider: TokenProvider, completion: @escaping (Error?) -> Void) {
| `- error: Objective-C interoperability is disabled
111 | if startHasBeenCalledThisSession == false {
112 | completion(PushNotificationsError.error("[PushNotifications] - `start` method must be called before setting `userId`"))
/host/spi-builder-workspace/Sources/PushNotifications.swift:162:6: error: Objective-C interoperability is disabled
160 | */
161 | /// - Tag: getUserId
162 | @objc public func getUserId() -> String? {
| `- error: Objective-C interoperability is disabled
163 | return InstanceDeviceStateStore.synchronize {
164 | return self.deviceStateStore.getUserId()
/host/spi-builder-workspace/Sources/PushNotifications.swift:168:6: error: Objective-C interoperability is disabled
166 | }
167 |
168 | @objc private func printHelpfulMessage() {
| `- error: Objective-C interoperability is disabled
169 | print("[PushNotifications] - It looks like setUserId hasn't completed yet -- have you called `registerDeviceToken`?")
170 | }
/host/spi-builder-workspace/Sources/PushNotifications.swift:179:6: error: Objective-C interoperability is disabled
177 | */
178 | /// - Tag: stop
179 | @objc public func stop(completion: @escaping () -> Void) {
| `- error: Objective-C interoperability is disabled
180 | let hadAnyInterests: Bool = InstanceDeviceStateStore.synchronize {
181 | let hadAnyInterests = self.deviceStateStore.getInterests()?.isEmpty ?? false
/host/spi-builder-workspace/Sources/PushNotifications.swift:208:6: error: Objective-C interoperability is disabled
206 | */
207 | /// - Tag: clearAllState
208 | @objc public func clearAllState(completion: @escaping () -> Void) {
| `- error: Objective-C interoperability is disabled
209 | let storedAPNsToken = self.deviceStateStore.getAPNsToken()
210 | let hasStartAlreadyBeenCalled = self.deviceStateStore.getStartJobHasBeenEnqueued()
/host/spi-builder-workspace/Sources/PushNotifications.swift:230:6: error: Objective-C interoperability is disabled
228 | */
229 | /// - Tag: registerDeviceToken
230 | @objc public func registerDeviceToken(_ deviceToken: Data) {
| `- error: Objective-C interoperability is disabled
231 | PushNotificationsStatic.registerDeviceToken(deviceToken)
232 | }
/host/spi-builder-workspace/Sources/PushNotifications.swift:244:6: error: Objective-C interoperability is disabled
242 | */
243 | /// - Tag: addDeviceInterest
244 | @objc public func addDeviceInterest(interest: String) throws {
| `- error: Objective-C interoperability is disabled
245 | guard self.validateInterestName(interest) else {
246 | throw InvalidInterestError.invalidName(interest)
/host/spi-builder-workspace/Sources/PushNotifications.swift:270:6: error: Objective-C interoperability is disabled
268 | */
269 | /// - Tag: setDeviceInterests
270 | @objc public func setDeviceInterests(interests: [String]) throws {
| `- error: Objective-C interoperability is disabled
271 | if let invalidInterests = self.validateInterestNames(interests), invalidInterests.count > 0 {
272 | throw MultipleInvalidInterestsError.invalidNames(invalidInterests)
/host/spi-builder-workspace/Sources/PushNotifications.swift:295:7: error: Objective-C interoperability is disabled
293 | */
294 | /// - Tag: removeDeviceInterest
295 | @objc public func removeDeviceInterest(interest: String) throws {
| `- error: Objective-C interoperability is disabled
296 | guard self.validateInterestName(interest) else {
297 | throw InvalidInterestError.invalidName(interest)
/host/spi-builder-workspace/Sources/PushNotifications.swift:312:6: error: Objective-C interoperability is disabled
310 | /// Unsubscribes the device from all the interests.
311 | /// - Tag: clearDeviceInterests
312 | @objc public func clearDeviceInterests() throws {
| `- error: Objective-C interoperability is disabled
313 | try self.setDeviceInterests(interests: [])
314 | }
/host/spi-builder-workspace/Sources/PushNotifications.swift:322:6: error: Objective-C interoperability is disabled
320 | */
321 | /// - Tag: getDeviceInterests
322 | @objc public func getDeviceInterests() -> [String]? {
| `- error: Objective-C interoperability is disabled
323 | return InstanceDeviceStateStore.synchronize {
324 | return self.deviceStateStore.getInterests()
/host/spi-builder-workspace/Sources/PushNotifications.swift:345:6: error: Objective-C interoperability is disabled
343 | /// - Tag: handleNotification
344 | @discardableResult
345 | @objc public func handleNotification(userInfo: [AnyHashable: Any]) -> RemoteNotificationType {
| `- error: Objective-C interoperability is disabled
346 | return PushNotificationsStatic.handleNotification(userInfo: userInfo)
347 | }
/host/spi-builder-workspace/Sources/PushNotifications.swift:364:2: error: Objective-C interoperability is disabled
362 | Method `interestsSetOnDeviceDidChange(interests:)` will be called when interests set changes.
363 | */
364 | @objc public protocol InterestsChangedDelegate: AnyObject {
| `- error: Objective-C interoperability is disabled
365 | /**
366 | Tells the delegate that the device's interests subscriptions list has changed.
/host/spi-builder-workspace/Sources/Models/Metadata.swift:8:16: warning: static property 'current' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
6 | let macosVersion: String?
7 |
8 | static var current: Metadata = {
| |- warning: static property 'current' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'current' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'current' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
9 | let sdkVersion = SDK.version
10 | let systemVersion = SystemVersion.version
/host/spi-builder-workspace/Sources/PushNotifications.swift:141:91: error: '#selector' can only be used with the Objective-C runtime
139 | }
140 |
141 | let helpfulTimer = Timer.scheduledTimer(timeInterval: 15, target: self, selector: #selector(printHelpfulMessage), userInfo: nil, repeats: false)
| `- error: '#selector' can only be used with the Objective-C runtime
142 |
143 | let wrapperCompletion: (Error?) -> Void = { error in
/host/spi-builder-workspace/Sources/PushNotifications.swift:351:37: error: 'init(format:_:)' has been renamed to 'init(block:)': Predicate strings and key-value coding are not supported in swift-corelibs-foundation. Use a closure instead if possible.
349 | private func validateInterestName(_ interest: String) -> Bool {
350 | let interestNameRegex = "^[a-zA-Z0-9_\\-=@,.;]{1,164}$"
351 | let interestNamePredicate = NSPredicate(format: "SELF MATCHES %@", interestNameRegex)
| `- error: 'init(format:_:)' has been renamed to 'init(block:)': Predicate strings and key-value coding are not supported in swift-corelibs-foundation. Use a closure instead if possible.
352 | return interestNamePredicate.evaluate(with: interest)
353 | }
Foundation.NSPredicate:3:24: note: 'init(format:_:)' has been explicitly marked unavailable here
1 | extension NSPredicate {
2 | @available(*, unavailable, renamed: "init(block:)", message: "Predicate strings and key-value coding are not supported in swift-corelibs-foundation. Use a closure instead if possible.")
3 | public convenience init(format predicateFormat: String, _ args: any CVarArg...)
| `- note: 'init(format:_:)' has been explicitly marked unavailable here
4 | }
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:11:2: error: Objective-C interoperability is disabled
9 |
10 | /// A static equivalent of the `PushNotifications` type.
11 | @objc public final class PushNotificationsStatic: NSObject {
| `- error: Objective-C interoperability is disabled
12 |
13 | override private init() {
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:17:24: warning: static property 'instance' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
15 | }
16 |
17 | private static var instance: PushNotifications?
| |- warning: static property 'instance' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'instance' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'instance' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
18 | static var tokenProvider = [String: TokenProvider]()
19 |
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:28:6: error: Objective-C interoperability is disabled
26 | */
27 | /// - Tag: start
28 | @objc public static func start(instanceId: String) {
| `- error: Objective-C interoperability is disabled
29 | if instance == nil {
30 | instance = PushNotifications(instanceId: instanceId)
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:50:6: error: Objective-C interoperability is disabled
48 | */
49 | /// - Tag: register
50 | @objc public static func registerForRemoteNotifications() {
| `- error: Objective-C interoperability is disabled
51 | self.registerForPushNotifications(options: [.alert, .sound, .badge])
52 | }
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:102:6: error: Objective-C interoperability is disabled
100 | */
101 | /// - Tag: setUserId
102 | @objc public static func setUserId(_ userId: String, tokenProvider: TokenProvider, completion: @escaping (Error?) -> Void) {
| `- error: Objective-C interoperability is disabled
103 | if let staticInstance = instance {
104 | staticInstance.setUserId(userId, tokenProvider: tokenProvider, completion: completion)
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:116:6: error: Objective-C interoperability is disabled
114 | */
115 | /// - Tag: getUserId
116 | @objc public static func getUserId() -> String? {
| `- error: Objective-C interoperability is disabled
117 | if let staticInstance = instance {
118 | return staticInstance.getUserId()
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:130:6: error: Objective-C interoperability is disabled
128 | */
129 | /// - Tag: stop
130 | @objc public static func stop(completion: @escaping () -> Void) {
| `- error: Objective-C interoperability is disabled
131 | let instances = DeviceStateStore().getInstanceIds()
132 | let dispatchGroup = DispatchGroup()
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:152:6: error: Objective-C interoperability is disabled
150 | */
151 | /// - Tag: clearAllState
152 | @objc public static func clearAllState(completion: @escaping () -> Void) {
| `- error: Objective-C interoperability is disabled
153 | let instances = DeviceStateStore().getInstanceIds()
154 | let dispatchGroup = DispatchGroup()
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:174:6: error: Objective-C interoperability is disabled
172 | */
173 | /// - Tag: registerDeviceToken
174 | @objc public static func registerDeviceToken(_ deviceToken: Data) {
| `- error: Objective-C interoperability is disabled
175 | let instances = DeviceStateStore().getInstanceIds()
176 | var hasAnInstanceBeenStarted = false
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:205:6: error: Objective-C interoperability is disabled
203 | */
204 | /// - Tag: addDeviceInterest
205 | @objc public static func addDeviceInterest(interest: String) throws {
| `- error: Objective-C interoperability is disabled
206 | if let staticInstance = instance {
207 | try staticInstance.addDeviceInterest(interest: interest)
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:224:6: error: Objective-C interoperability is disabled
222 | */
223 | /// - Tag: setDeviceInterests
224 | @objc public static func setDeviceInterests(interests: [String]) throws {
| `- error: Objective-C interoperability is disabled
225 | if let staticInstance = instance {
226 | try staticInstance.setDeviceInterests(interests: interests)
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:242:6: error: Objective-C interoperability is disabled
240 | */
241 | /// - Tag: removeDeviceInterest
242 | @objc public static func removeDeviceInterest(interest: String) throws {
| `- error: Objective-C interoperability is disabled
243 | if let staticInstance = instance {
244 | try staticInstance.removeDeviceInterest(interest: interest)
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:252:6: error: Objective-C interoperability is disabled
250 | /// Unsubscribes the device from all the interests.
251 | /// - Tag: clearDeviceInterests
252 | @objc public static func clearDeviceInterests() throws {
| `- error: Objective-C interoperability is disabled
253 | if let staticInstance = instance {
254 | try staticInstance.clearDeviceInterests()
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:266:6: error: Objective-C interoperability is disabled
264 | */
265 | /// - Tag: getDeviceInterests
266 | @objc public static func getDeviceInterests() -> [String]? {
| `- error: Objective-C interoperability is disabled
267 | if let staticInstance = instance {
268 | return staticInstance.getDeviceInterests()
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:281:6: error: Objective-C interoperability is disabled
279 | /// - Tag: handleNotification
280 | @discardableResult
281 | @objc public static func handleNotification(userInfo: [AnyHashable: Any]) -> RemoteNotificationType {
| `- error: Objective-C interoperability is disabled
282 | guard FeatureFlags.DeliveryTrackingEnabled else {
283 | return .ShouldProcess
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:51:14: error: type 'PushNotificationsStatic' has no member 'registerForPushNotifications'
49 | /// - Tag: register
50 | @objc public static func registerForRemoteNotifications() {
51 | self.registerForPushNotifications(options: [.alert, .sound, .badge])
| `- error: type 'PushNotificationsStatic' has no member 'registerForPushNotifications'
52 | }
53 |
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:51:54: error: reference to member 'alert' cannot be resolved without a contextual type
49 | /// - Tag: register
50 | @objc public static func registerForRemoteNotifications() {
51 | self.registerForPushNotifications(options: [.alert, .sound, .badge])
| `- error: reference to member 'alert' cannot be resolved without a contextual type
52 | }
53 |
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:51:62: error: reference to member 'sound' cannot be resolved without a contextual type
49 | /// - Tag: register
50 | @objc public static func registerForRemoteNotifications() {
51 | self.registerForPushNotifications(options: [.alert, .sound, .badge])
| `- error: reference to member 'sound' cannot be resolved without a contextual type
52 | }
53 |
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:51:70: error: reference to member 'badge' cannot be resolved without a contextual type
49 | /// - Tag: register
50 | @objc public static func registerForRemoteNotifications() {
51 | self.registerForPushNotifications(options: [.alert, .sound, .badge])
| `- error: reference to member 'badge' cannot be resolved without a contextual type
52 | }
53 |
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:297:84: error: cannot find 'eventType' in scope
295 | #endif
296 |
297 | let serverSyncProcessHandler = ServerSyncProcessHandler.obtain(instanceId: eventType.getInstanceId())
| `- error: cannot find 'eventType' in scope
298 | serverSyncProcessHandler?.sendMessage(serverSyncJob: .reportEventJob(eventType: eventType))
299 |
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:298:89: error: cannot find 'eventType' in scope
296 |
297 | let serverSyncProcessHandler = ServerSyncProcessHandler.obtain(instanceId: eventType.getInstanceId())
298 | serverSyncProcessHandler?.sendMessage(serverSyncJob: .reportEventJob(eventType: eventType))
| `- error: cannot find 'eventType' in scope
299 |
300 | return EventTypeHandler.getRemoteNotificationType(userInfo)
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:298:63: error: cannot infer contextual base in reference to member 'reportEventJob'
296 |
297 | let serverSyncProcessHandler = ServerSyncProcessHandler.obtain(instanceId: eventType.getInstanceId())
298 | serverSyncProcessHandler?.sendMessage(serverSyncJob: .reportEventJob(eventType: eventType))
| `- error: cannot infer contextual base in reference to member 'reportEventJob'
299 |
300 | return EventTypeHandler.getRemoteNotificationType(userInfo)
/host/spi-builder-workspace/Sources/Services/BeamsTokenProvider.swift:4:2: error: Objective-C interoperability is disabled
2 |
3 | /// Used to generate tokens for users to authenticate against.
4 | @objc public final class BeamsTokenProvider: NSObject, TokenProvider {
| `- error: Objective-C interoperability is disabled
5 |
6 | /// The authentication endpoint URL `String`.
/host/spi-builder-workspace/Sources/Services/BeamsTokenProvider.swift:16:6: error: Objective-C interoperability is disabled
14 | /// - authURL: The authentication endpoint URL `String`.
15 | /// - getAuthData: A closure that returns an `AuthData` object.
16 | @objc public init(authURL: String, getAuthData: @escaping () -> (AuthData)) {
| `- error: Objective-C interoperability is disabled
17 | self.authURL = authURL
18 | self.getAuthData = getAuthData
/host/spi-builder-workspace/Sources/Services/BeamsTokenProvider.swift:30:26: error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
28 | let queryParams = authData.queryParams
29 |
30 | let urlSession = URLSession(configuration: .ephemeral)
| `- error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
31 |
32 | guard var components = URLComponents(string: authURL) else {
/host/spi-builder-workspace/Sources/Services/BeamsTokenProvider.swift:30:53: error: cannot infer contextual base in reference to member 'ephemeral'
28 | let queryParams = authData.queryParams
29 |
30 | let urlSession = URLSession(configuration: .ephemeral)
| `- error: cannot infer contextual base in reference to member 'ephemeral'
31 |
32 | guard var components = URLComponents(string: authURL) else {
/host/spi-builder-workspace/Sources/Services/BeamsTokenProvider.swift:43:26: error: cannot find 'URLRequest' in scope
41 | }
42 |
43 | var urlRequest = URLRequest(url: url)
| `- error: cannot find 'URLRequest' in scope
44 | urlRequest.httpMethod = "GET"
45 | for header in headers {
/host/spi-builder-workspace/Sources/Services/BeamsTokenProvider.swift:56:46: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
54 | return completion("", TokenProviderError.error("[PushNotifications] - BeamsTokenProvider: Error while casting response object to `HTTPURLResponse`"))
55 | }
56 | let statusCode = httpURLResponse.statusCode
| `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
57 | guard statusCode >= 200 && statusCode < 300 else {
58 | return completion("", TokenProviderError.error("[PushNotifications] - BeamsTokenProvider: Received HTTP Status Code: \(statusCode)"))
/host/spi-builder-workspace/Sources/Services/DeviceStateStore.swift:206:24: error: value of type 'UserDefaults' has no member 'value'
204 |
205 | func getServerConfirmedInterestsHash() -> String {
206 | return service.value(forKey: PersistenceConstants.PersistenceService.hashKey) as? String ?? ""
| `- error: value of type 'UserDefaults' has no member 'value'
207 | }
208 |
[29/46] Compiling PushNotifications BeamsTokenProvider.swift
/host/spi-builder-workspace/Sources/Protocols/TokenProvider.swift:24:2: error: Objective-C interoperability is disabled
22 | Conform to the TokenProvider protocol in order to generate the token for the user that you want to authenticate.
23 | */
24 | @objc public protocol TokenProvider {
| `- error: Objective-C interoperability is disabled
25 | /**
26 | Method `fetchToken` will return the token on success or error on failure.
/host/spi-builder-workspace/Sources/PushNotifications.swift:11:2: error: Objective-C interoperability is disabled
9 |
10 | /// The top-level entrypoint to the Beams Swift SDK.
11 | @objc public final class PushNotifications: NSObject {
| `- error: Objective-C interoperability is disabled
12 |
13 | let instanceId: String
/host/spi-builder-workspace/Sources/PushNotifications.swift:22:6: error: Objective-C interoperability is disabled
20 | /// Creates a `PushNotifications` object with a given `instanceId`.
21 | /// - Parameter instanceId: The instance identifier (from your app dashboard).
22 | @objc public init(instanceId: String) {
| `- error: Objective-C interoperability is disabled
23 | self.instanceId = instanceId
24 | self.deviceStateStore = InstanceDeviceStateStore(instanceId)
/host/spi-builder-workspace/Sources/PushNotifications.swift:35:6: error: Objective-C interoperability is disabled
33 | /// Returns a shared singleton PushNotifications object
34 | /// that can be accessed from anywhere in your project.
35 | @objc public static let shared = PushNotificationsStatic.self
| `- error: Objective-C interoperability is disabled
36 |
37 | private lazy var serverSyncHandler = ServerSyncProcessHandler.obtain(
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:18:16: warning: static property 'tokenProvider' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
16 |
17 | private static var instance: PushNotifications?
18 | static var tokenProvider = [String: TokenProvider]()
| |- warning: static property 'tokenProvider' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'tokenProvider' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'tokenProvider' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
19 |
20 | /**
/host/spi-builder-workspace/Sources/PushNotifications.swift:51:6: error: Objective-C interoperability is disabled
49 | */
50 | /// - Tag: start
51 | @objc public func start() {
| `- error: Objective-C interoperability is disabled
52 | if UUID(uuidString: instanceId) == nil {
53 | print("[PushNotifications]: '\(instanceId)' is not a valid instance id.")
/host/spi-builder-workspace/Sources/PushNotifications.swift:78:6: error: Objective-C interoperability is disabled
76 | */
77 | /// - Tag: register
78 | @objc public func registerForRemoteNotifications() {
| `- error: Objective-C interoperability is disabled
79 | PushNotificationsStatic.registerForRemoteNotifications()
80 | }
/host/spi-builder-workspace/Sources/PushNotifications.swift:110:6: error: Objective-C interoperability is disabled
108 | */
109 | /// - Tag: setUserId
110 | @objc public func setUserId(_ userId: String, tokenProvider: TokenProvider, completion: @escaping (Error?) -> Void) {
| `- error: Objective-C interoperability is disabled
111 | if startHasBeenCalledThisSession == false {
112 | completion(PushNotificationsError.error("[PushNotifications] - `start` method must be called before setting `userId`"))
/host/spi-builder-workspace/Sources/PushNotifications.swift:162:6: error: Objective-C interoperability is disabled
160 | */
161 | /// - Tag: getUserId
162 | @objc public func getUserId() -> String? {
| `- error: Objective-C interoperability is disabled
163 | return InstanceDeviceStateStore.synchronize {
164 | return self.deviceStateStore.getUserId()
/host/spi-builder-workspace/Sources/PushNotifications.swift:168:6: error: Objective-C interoperability is disabled
166 | }
167 |
168 | @objc private func printHelpfulMessage() {
| `- error: Objective-C interoperability is disabled
169 | print("[PushNotifications] - It looks like setUserId hasn't completed yet -- have you called `registerDeviceToken`?")
170 | }
/host/spi-builder-workspace/Sources/PushNotifications.swift:179:6: error: Objective-C interoperability is disabled
177 | */
178 | /// - Tag: stop
179 | @objc public func stop(completion: @escaping () -> Void) {
| `- error: Objective-C interoperability is disabled
180 | let hadAnyInterests: Bool = InstanceDeviceStateStore.synchronize {
181 | let hadAnyInterests = self.deviceStateStore.getInterests()?.isEmpty ?? false
/host/spi-builder-workspace/Sources/PushNotifications.swift:208:6: error: Objective-C interoperability is disabled
206 | */
207 | /// - Tag: clearAllState
208 | @objc public func clearAllState(completion: @escaping () -> Void) {
| `- error: Objective-C interoperability is disabled
209 | let storedAPNsToken = self.deviceStateStore.getAPNsToken()
210 | let hasStartAlreadyBeenCalled = self.deviceStateStore.getStartJobHasBeenEnqueued()
/host/spi-builder-workspace/Sources/PushNotifications.swift:230:6: error: Objective-C interoperability is disabled
228 | */
229 | /// - Tag: registerDeviceToken
230 | @objc public func registerDeviceToken(_ deviceToken: Data) {
| `- error: Objective-C interoperability is disabled
231 | PushNotificationsStatic.registerDeviceToken(deviceToken)
232 | }
/host/spi-builder-workspace/Sources/PushNotifications.swift:244:6: error: Objective-C interoperability is disabled
242 | */
243 | /// - Tag: addDeviceInterest
244 | @objc public func addDeviceInterest(interest: String) throws {
| `- error: Objective-C interoperability is disabled
245 | guard self.validateInterestName(interest) else {
246 | throw InvalidInterestError.invalidName(interest)
/host/spi-builder-workspace/Sources/PushNotifications.swift:270:6: error: Objective-C interoperability is disabled
268 | */
269 | /// - Tag: setDeviceInterests
270 | @objc public func setDeviceInterests(interests: [String]) throws {
| `- error: Objective-C interoperability is disabled
271 | if let invalidInterests = self.validateInterestNames(interests), invalidInterests.count > 0 {
272 | throw MultipleInvalidInterestsError.invalidNames(invalidInterests)
/host/spi-builder-workspace/Sources/PushNotifications.swift:295:7: error: Objective-C interoperability is disabled
293 | */
294 | /// - Tag: removeDeviceInterest
295 | @objc public func removeDeviceInterest(interest: String) throws {
| `- error: Objective-C interoperability is disabled
296 | guard self.validateInterestName(interest) else {
297 | throw InvalidInterestError.invalidName(interest)
/host/spi-builder-workspace/Sources/PushNotifications.swift:312:6: error: Objective-C interoperability is disabled
310 | /// Unsubscribes the device from all the interests.
311 | /// - Tag: clearDeviceInterests
312 | @objc public func clearDeviceInterests() throws {
| `- error: Objective-C interoperability is disabled
313 | try self.setDeviceInterests(interests: [])
314 | }
/host/spi-builder-workspace/Sources/PushNotifications.swift:322:6: error: Objective-C interoperability is disabled
320 | */
321 | /// - Tag: getDeviceInterests
322 | @objc public func getDeviceInterests() -> [String]? {
| `- error: Objective-C interoperability is disabled
323 | return InstanceDeviceStateStore.synchronize {
324 | return self.deviceStateStore.getInterests()
/host/spi-builder-workspace/Sources/PushNotifications.swift:345:6: error: Objective-C interoperability is disabled
343 | /// - Tag: handleNotification
344 | @discardableResult
345 | @objc public func handleNotification(userInfo: [AnyHashable: Any]) -> RemoteNotificationType {
| `- error: Objective-C interoperability is disabled
346 | return PushNotificationsStatic.handleNotification(userInfo: userInfo)
347 | }
/host/spi-builder-workspace/Sources/PushNotifications.swift:364:2: error: Objective-C interoperability is disabled
362 | Method `interestsSetOnDeviceDidChange(interests:)` will be called when interests set changes.
363 | */
364 | @objc public protocol InterestsChangedDelegate: AnyObject {
| `- error: Objective-C interoperability is disabled
365 | /**
366 | Tells the delegate that the device's interests subscriptions list has changed.
/host/spi-builder-workspace/Sources/Models/Metadata.swift:8:16: warning: static property 'current' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
6 | let macosVersion: String?
7 |
8 | static var current: Metadata = {
| |- warning: static property 'current' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'current' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'current' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
9 | let sdkVersion = SDK.version
10 | let systemVersion = SystemVersion.version
/host/spi-builder-workspace/Sources/PushNotifications.swift:141:91: error: '#selector' can only be used with the Objective-C runtime
139 | }
140 |
141 | let helpfulTimer = Timer.scheduledTimer(timeInterval: 15, target: self, selector: #selector(printHelpfulMessage), userInfo: nil, repeats: false)
| `- error: '#selector' can only be used with the Objective-C runtime
142 |
143 | let wrapperCompletion: (Error?) -> Void = { error in
/host/spi-builder-workspace/Sources/PushNotifications.swift:351:37: error: 'init(format:_:)' has been renamed to 'init(block:)': Predicate strings and key-value coding are not supported in swift-corelibs-foundation. Use a closure instead if possible.
349 | private func validateInterestName(_ interest: String) -> Bool {
350 | let interestNameRegex = "^[a-zA-Z0-9_\\-=@,.;]{1,164}$"
351 | let interestNamePredicate = NSPredicate(format: "SELF MATCHES %@", interestNameRegex)
| `- error: 'init(format:_:)' has been renamed to 'init(block:)': Predicate strings and key-value coding are not supported in swift-corelibs-foundation. Use a closure instead if possible.
352 | return interestNamePredicate.evaluate(with: interest)
353 | }
Foundation.NSPredicate:3:24: note: 'init(format:_:)' has been explicitly marked unavailable here
1 | extension NSPredicate {
2 | @available(*, unavailable, renamed: "init(block:)", message: "Predicate strings and key-value coding are not supported in swift-corelibs-foundation. Use a closure instead if possible.")
3 | public convenience init(format predicateFormat: String, _ args: any CVarArg...)
| `- note: 'init(format:_:)' has been explicitly marked unavailable here
4 | }
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:11:2: error: Objective-C interoperability is disabled
9 |
10 | /// A static equivalent of the `PushNotifications` type.
11 | @objc public final class PushNotificationsStatic: NSObject {
| `- error: Objective-C interoperability is disabled
12 |
13 | override private init() {
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:17:24: warning: static property 'instance' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
15 | }
16 |
17 | private static var instance: PushNotifications?
| |- warning: static property 'instance' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'instance' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'instance' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
18 | static var tokenProvider = [String: TokenProvider]()
19 |
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:28:6: error: Objective-C interoperability is disabled
26 | */
27 | /// - Tag: start
28 | @objc public static func start(instanceId: String) {
| `- error: Objective-C interoperability is disabled
29 | if instance == nil {
30 | instance = PushNotifications(instanceId: instanceId)
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:50:6: error: Objective-C interoperability is disabled
48 | */
49 | /// - Tag: register
50 | @objc public static func registerForRemoteNotifications() {
| `- error: Objective-C interoperability is disabled
51 | self.registerForPushNotifications(options: [.alert, .sound, .badge])
52 | }
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:102:6: error: Objective-C interoperability is disabled
100 | */
101 | /// - Tag: setUserId
102 | @objc public static func setUserId(_ userId: String, tokenProvider: TokenProvider, completion: @escaping (Error?) -> Void) {
| `- error: Objective-C interoperability is disabled
103 | if let staticInstance = instance {
104 | staticInstance.setUserId(userId, tokenProvider: tokenProvider, completion: completion)
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:116:6: error: Objective-C interoperability is disabled
114 | */
115 | /// - Tag: getUserId
116 | @objc public static func getUserId() -> String? {
| `- error: Objective-C interoperability is disabled
117 | if let staticInstance = instance {
118 | return staticInstance.getUserId()
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:130:6: error: Objective-C interoperability is disabled
128 | */
129 | /// - Tag: stop
130 | @objc public static func stop(completion: @escaping () -> Void) {
| `- error: Objective-C interoperability is disabled
131 | let instances = DeviceStateStore().getInstanceIds()
132 | let dispatchGroup = DispatchGroup()
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:152:6: error: Objective-C interoperability is disabled
150 | */
151 | /// - Tag: clearAllState
152 | @objc public static func clearAllState(completion: @escaping () -> Void) {
| `- error: Objective-C interoperability is disabled
153 | let instances = DeviceStateStore().getInstanceIds()
154 | let dispatchGroup = DispatchGroup()
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:174:6: error: Objective-C interoperability is disabled
172 | */
173 | /// - Tag: registerDeviceToken
174 | @objc public static func registerDeviceToken(_ deviceToken: Data) {
| `- error: Objective-C interoperability is disabled
175 | let instances = DeviceStateStore().getInstanceIds()
176 | var hasAnInstanceBeenStarted = false
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:205:6: error: Objective-C interoperability is disabled
203 | */
204 | /// - Tag: addDeviceInterest
205 | @objc public static func addDeviceInterest(interest: String) throws {
| `- error: Objective-C interoperability is disabled
206 | if let staticInstance = instance {
207 | try staticInstance.addDeviceInterest(interest: interest)
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:224:6: error: Objective-C interoperability is disabled
222 | */
223 | /// - Tag: setDeviceInterests
224 | @objc public static func setDeviceInterests(interests: [String]) throws {
| `- error: Objective-C interoperability is disabled
225 | if let staticInstance = instance {
226 | try staticInstance.setDeviceInterests(interests: interests)
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:242:6: error: Objective-C interoperability is disabled
240 | */
241 | /// - Tag: removeDeviceInterest
242 | @objc public static func removeDeviceInterest(interest: String) throws {
| `- error: Objective-C interoperability is disabled
243 | if let staticInstance = instance {
244 | try staticInstance.removeDeviceInterest(interest: interest)
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:252:6: error: Objective-C interoperability is disabled
250 | /// Unsubscribes the device from all the interests.
251 | /// - Tag: clearDeviceInterests
252 | @objc public static func clearDeviceInterests() throws {
| `- error: Objective-C interoperability is disabled
253 | if let staticInstance = instance {
254 | try staticInstance.clearDeviceInterests()
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:266:6: error: Objective-C interoperability is disabled
264 | */
265 | /// - Tag: getDeviceInterests
266 | @objc public static func getDeviceInterests() -> [String]? {
| `- error: Objective-C interoperability is disabled
267 | if let staticInstance = instance {
268 | return staticInstance.getDeviceInterests()
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:281:6: error: Objective-C interoperability is disabled
279 | /// - Tag: handleNotification
280 | @discardableResult
281 | @objc public static func handleNotification(userInfo: [AnyHashable: Any]) -> RemoteNotificationType {
| `- error: Objective-C interoperability is disabled
282 | guard FeatureFlags.DeliveryTrackingEnabled else {
283 | return .ShouldProcess
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:51:14: error: type 'PushNotificationsStatic' has no member 'registerForPushNotifications'
49 | /// - Tag: register
50 | @objc public static func registerForRemoteNotifications() {
51 | self.registerForPushNotifications(options: [.alert, .sound, .badge])
| `- error: type 'PushNotificationsStatic' has no member 'registerForPushNotifications'
52 | }
53 |
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:51:54: error: reference to member 'alert' cannot be resolved without a contextual type
49 | /// - Tag: register
50 | @objc public static func registerForRemoteNotifications() {
51 | self.registerForPushNotifications(options: [.alert, .sound, .badge])
| `- error: reference to member 'alert' cannot be resolved without a contextual type
52 | }
53 |
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:51:62: error: reference to member 'sound' cannot be resolved without a contextual type
49 | /// - Tag: register
50 | @objc public static func registerForRemoteNotifications() {
51 | self.registerForPushNotifications(options: [.alert, .sound, .badge])
| `- error: reference to member 'sound' cannot be resolved without a contextual type
52 | }
53 |
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:51:70: error: reference to member 'badge' cannot be resolved without a contextual type
49 | /// - Tag: register
50 | @objc public static func registerForRemoteNotifications() {
51 | self.registerForPushNotifications(options: [.alert, .sound, .badge])
| `- error: reference to member 'badge' cannot be resolved without a contextual type
52 | }
53 |
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:297:84: error: cannot find 'eventType' in scope
295 | #endif
296 |
297 | let serverSyncProcessHandler = ServerSyncProcessHandler.obtain(instanceId: eventType.getInstanceId())
| `- error: cannot find 'eventType' in scope
298 | serverSyncProcessHandler?.sendMessage(serverSyncJob: .reportEventJob(eventType: eventType))
299 |
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:298:89: error: cannot find 'eventType' in scope
296 |
297 | let serverSyncProcessHandler = ServerSyncProcessHandler.obtain(instanceId: eventType.getInstanceId())
298 | serverSyncProcessHandler?.sendMessage(serverSyncJob: .reportEventJob(eventType: eventType))
| `- error: cannot find 'eventType' in scope
299 |
300 | return EventTypeHandler.getRemoteNotificationType(userInfo)
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:298:63: error: cannot infer contextual base in reference to member 'reportEventJob'
296 |
297 | let serverSyncProcessHandler = ServerSyncProcessHandler.obtain(instanceId: eventType.getInstanceId())
298 | serverSyncProcessHandler?.sendMessage(serverSyncJob: .reportEventJob(eventType: eventType))
| `- error: cannot infer contextual base in reference to member 'reportEventJob'
299 |
300 | return EventTypeHandler.getRemoteNotificationType(userInfo)
/host/spi-builder-workspace/Sources/Services/BeamsTokenProvider.swift:4:2: error: Objective-C interoperability is disabled
2 |
3 | /// Used to generate tokens for users to authenticate against.
4 | @objc public final class BeamsTokenProvider: NSObject, TokenProvider {
| `- error: Objective-C interoperability is disabled
5 |
6 | /// The authentication endpoint URL `String`.
/host/spi-builder-workspace/Sources/Services/BeamsTokenProvider.swift:16:6: error: Objective-C interoperability is disabled
14 | /// - authURL: The authentication endpoint URL `String`.
15 | /// - getAuthData: A closure that returns an `AuthData` object.
16 | @objc public init(authURL: String, getAuthData: @escaping () -> (AuthData)) {
| `- error: Objective-C interoperability is disabled
17 | self.authURL = authURL
18 | self.getAuthData = getAuthData
/host/spi-builder-workspace/Sources/Services/BeamsTokenProvider.swift:30:26: error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
28 | let queryParams = authData.queryParams
29 |
30 | let urlSession = URLSession(configuration: .ephemeral)
| `- error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
31 |
32 | guard var components = URLComponents(string: authURL) else {
/host/spi-builder-workspace/Sources/Services/BeamsTokenProvider.swift:30:53: error: cannot infer contextual base in reference to member 'ephemeral'
28 | let queryParams = authData.queryParams
29 |
30 | let urlSession = URLSession(configuration: .ephemeral)
| `- error: cannot infer contextual base in reference to member 'ephemeral'
31 |
32 | guard var components = URLComponents(string: authURL) else {
/host/spi-builder-workspace/Sources/Services/BeamsTokenProvider.swift:43:26: error: cannot find 'URLRequest' in scope
41 | }
42 |
43 | var urlRequest = URLRequest(url: url)
| `- error: cannot find 'URLRequest' in scope
44 | urlRequest.httpMethod = "GET"
45 | for header in headers {
/host/spi-builder-workspace/Sources/Services/BeamsTokenProvider.swift:56:46: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
54 | return completion("", TokenProviderError.error("[PushNotifications] - BeamsTokenProvider: Error while casting response object to `HTTPURLResponse`"))
55 | }
56 | let statusCode = httpURLResponse.statusCode
| `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
57 | guard statusCode >= 200 && statusCode < 300 else {
58 | return completion("", TokenProviderError.error("[PushNotifications] - BeamsTokenProvider: Received HTTP Status Code: \(statusCode)"))
/host/spi-builder-workspace/Sources/Services/DeviceStateStore.swift:206:24: error: value of type 'UserDefaults' has no member 'value'
204 |
205 | func getServerConfirmedInterestsHash() -> String {
206 | return service.value(forKey: PersistenceConstants.PersistenceService.hashKey) as? String ?? ""
| `- error: value of type 'UserDefaults' has no member 'value'
207 | }
208 |
[30/46] Compiling PushNotifications DeviceStateStore.swift
/host/spi-builder-workspace/Sources/Protocols/TokenProvider.swift:24:2: error: Objective-C interoperability is disabled
22 | Conform to the TokenProvider protocol in order to generate the token for the user that you want to authenticate.
23 | */
24 | @objc public protocol TokenProvider {
| `- error: Objective-C interoperability is disabled
25 | /**
26 | Method `fetchToken` will return the token on success or error on failure.
/host/spi-builder-workspace/Sources/PushNotifications.swift:11:2: error: Objective-C interoperability is disabled
9 |
10 | /// The top-level entrypoint to the Beams Swift SDK.
11 | @objc public final class PushNotifications: NSObject {
| `- error: Objective-C interoperability is disabled
12 |
13 | let instanceId: String
/host/spi-builder-workspace/Sources/PushNotifications.swift:22:6: error: Objective-C interoperability is disabled
20 | /// Creates a `PushNotifications` object with a given `instanceId`.
21 | /// - Parameter instanceId: The instance identifier (from your app dashboard).
22 | @objc public init(instanceId: String) {
| `- error: Objective-C interoperability is disabled
23 | self.instanceId = instanceId
24 | self.deviceStateStore = InstanceDeviceStateStore(instanceId)
/host/spi-builder-workspace/Sources/PushNotifications.swift:35:6: error: Objective-C interoperability is disabled
33 | /// Returns a shared singleton PushNotifications object
34 | /// that can be accessed from anywhere in your project.
35 | @objc public static let shared = PushNotificationsStatic.self
| `- error: Objective-C interoperability is disabled
36 |
37 | private lazy var serverSyncHandler = ServerSyncProcessHandler.obtain(
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:18:16: warning: static property 'tokenProvider' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
16 |
17 | private static var instance: PushNotifications?
18 | static var tokenProvider = [String: TokenProvider]()
| |- warning: static property 'tokenProvider' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'tokenProvider' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'tokenProvider' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
19 |
20 | /**
/host/spi-builder-workspace/Sources/PushNotifications.swift:51:6: error: Objective-C interoperability is disabled
49 | */
50 | /// - Tag: start
51 | @objc public func start() {
| `- error: Objective-C interoperability is disabled
52 | if UUID(uuidString: instanceId) == nil {
53 | print("[PushNotifications]: '\(instanceId)' is not a valid instance id.")
/host/spi-builder-workspace/Sources/PushNotifications.swift:78:6: error: Objective-C interoperability is disabled
76 | */
77 | /// - Tag: register
78 | @objc public func registerForRemoteNotifications() {
| `- error: Objective-C interoperability is disabled
79 | PushNotificationsStatic.registerForRemoteNotifications()
80 | }
/host/spi-builder-workspace/Sources/PushNotifications.swift:110:6: error: Objective-C interoperability is disabled
108 | */
109 | /// - Tag: setUserId
110 | @objc public func setUserId(_ userId: String, tokenProvider: TokenProvider, completion: @escaping (Error?) -> Void) {
| `- error: Objective-C interoperability is disabled
111 | if startHasBeenCalledThisSession == false {
112 | completion(PushNotificationsError.error("[PushNotifications] - `start` method must be called before setting `userId`"))
/host/spi-builder-workspace/Sources/PushNotifications.swift:162:6: error: Objective-C interoperability is disabled
160 | */
161 | /// - Tag: getUserId
162 | @objc public func getUserId() -> String? {
| `- error: Objective-C interoperability is disabled
163 | return InstanceDeviceStateStore.synchronize {
164 | return self.deviceStateStore.getUserId()
/host/spi-builder-workspace/Sources/PushNotifications.swift:168:6: error: Objective-C interoperability is disabled
166 | }
167 |
168 | @objc private func printHelpfulMessage() {
| `- error: Objective-C interoperability is disabled
169 | print("[PushNotifications] - It looks like setUserId hasn't completed yet -- have you called `registerDeviceToken`?")
170 | }
/host/spi-builder-workspace/Sources/PushNotifications.swift:179:6: error: Objective-C interoperability is disabled
177 | */
178 | /// - Tag: stop
179 | @objc public func stop(completion: @escaping () -> Void) {
| `- error: Objective-C interoperability is disabled
180 | let hadAnyInterests: Bool = InstanceDeviceStateStore.synchronize {
181 | let hadAnyInterests = self.deviceStateStore.getInterests()?.isEmpty ?? false
/host/spi-builder-workspace/Sources/PushNotifications.swift:208:6: error: Objective-C interoperability is disabled
206 | */
207 | /// - Tag: clearAllState
208 | @objc public func clearAllState(completion: @escaping () -> Void) {
| `- error: Objective-C interoperability is disabled
209 | let storedAPNsToken = self.deviceStateStore.getAPNsToken()
210 | let hasStartAlreadyBeenCalled = self.deviceStateStore.getStartJobHasBeenEnqueued()
/host/spi-builder-workspace/Sources/PushNotifications.swift:230:6: error: Objective-C interoperability is disabled
228 | */
229 | /// - Tag: registerDeviceToken
230 | @objc public func registerDeviceToken(_ deviceToken: Data) {
| `- error: Objective-C interoperability is disabled
231 | PushNotificationsStatic.registerDeviceToken(deviceToken)
232 | }
/host/spi-builder-workspace/Sources/PushNotifications.swift:244:6: error: Objective-C interoperability is disabled
242 | */
243 | /// - Tag: addDeviceInterest
244 | @objc public func addDeviceInterest(interest: String) throws {
| `- error: Objective-C interoperability is disabled
245 | guard self.validateInterestName(interest) else {
246 | throw InvalidInterestError.invalidName(interest)
/host/spi-builder-workspace/Sources/PushNotifications.swift:270:6: error: Objective-C interoperability is disabled
268 | */
269 | /// - Tag: setDeviceInterests
270 | @objc public func setDeviceInterests(interests: [String]) throws {
| `- error: Objective-C interoperability is disabled
271 | if let invalidInterests = self.validateInterestNames(interests), invalidInterests.count > 0 {
272 | throw MultipleInvalidInterestsError.invalidNames(invalidInterests)
/host/spi-builder-workspace/Sources/PushNotifications.swift:295:7: error: Objective-C interoperability is disabled
293 | */
294 | /// - Tag: removeDeviceInterest
295 | @objc public func removeDeviceInterest(interest: String) throws {
| `- error: Objective-C interoperability is disabled
296 | guard self.validateInterestName(interest) else {
297 | throw InvalidInterestError.invalidName(interest)
/host/spi-builder-workspace/Sources/PushNotifications.swift:312:6: error: Objective-C interoperability is disabled
310 | /// Unsubscribes the device from all the interests.
311 | /// - Tag: clearDeviceInterests
312 | @objc public func clearDeviceInterests() throws {
| `- error: Objective-C interoperability is disabled
313 | try self.setDeviceInterests(interests: [])
314 | }
/host/spi-builder-workspace/Sources/PushNotifications.swift:322:6: error: Objective-C interoperability is disabled
320 | */
321 | /// - Tag: getDeviceInterests
322 | @objc public func getDeviceInterests() -> [String]? {
| `- error: Objective-C interoperability is disabled
323 | return InstanceDeviceStateStore.synchronize {
324 | return self.deviceStateStore.getInterests()
/host/spi-builder-workspace/Sources/PushNotifications.swift:345:6: error: Objective-C interoperability is disabled
343 | /// - Tag: handleNotification
344 | @discardableResult
345 | @objc public func handleNotification(userInfo: [AnyHashable: Any]) -> RemoteNotificationType {
| `- error: Objective-C interoperability is disabled
346 | return PushNotificationsStatic.handleNotification(userInfo: userInfo)
347 | }
/host/spi-builder-workspace/Sources/PushNotifications.swift:364:2: error: Objective-C interoperability is disabled
362 | Method `interestsSetOnDeviceDidChange(interests:)` will be called when interests set changes.
363 | */
364 | @objc public protocol InterestsChangedDelegate: AnyObject {
| `- error: Objective-C interoperability is disabled
365 | /**
366 | Tells the delegate that the device's interests subscriptions list has changed.
/host/spi-builder-workspace/Sources/Models/Metadata.swift:8:16: warning: static property 'current' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
6 | let macosVersion: String?
7 |
8 | static var current: Metadata = {
| |- warning: static property 'current' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'current' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'current' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
9 | let sdkVersion = SDK.version
10 | let systemVersion = SystemVersion.version
/host/spi-builder-workspace/Sources/PushNotifications.swift:141:91: error: '#selector' can only be used with the Objective-C runtime
139 | }
140 |
141 | let helpfulTimer = Timer.scheduledTimer(timeInterval: 15, target: self, selector: #selector(printHelpfulMessage), userInfo: nil, repeats: false)
| `- error: '#selector' can only be used with the Objective-C runtime
142 |
143 | let wrapperCompletion: (Error?) -> Void = { error in
/host/spi-builder-workspace/Sources/PushNotifications.swift:351:37: error: 'init(format:_:)' has been renamed to 'init(block:)': Predicate strings and key-value coding are not supported in swift-corelibs-foundation. Use a closure instead if possible.
349 | private func validateInterestName(_ interest: String) -> Bool {
350 | let interestNameRegex = "^[a-zA-Z0-9_\\-=@,.;]{1,164}$"
351 | let interestNamePredicate = NSPredicate(format: "SELF MATCHES %@", interestNameRegex)
| `- error: 'init(format:_:)' has been renamed to 'init(block:)': Predicate strings and key-value coding are not supported in swift-corelibs-foundation. Use a closure instead if possible.
352 | return interestNamePredicate.evaluate(with: interest)
353 | }
Foundation.NSPredicate:3:24: note: 'init(format:_:)' has been explicitly marked unavailable here
1 | extension NSPredicate {
2 | @available(*, unavailable, renamed: "init(block:)", message: "Predicate strings and key-value coding are not supported in swift-corelibs-foundation. Use a closure instead if possible.")
3 | public convenience init(format predicateFormat: String, _ args: any CVarArg...)
| `- note: 'init(format:_:)' has been explicitly marked unavailable here
4 | }
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:11:2: error: Objective-C interoperability is disabled
9 |
10 | /// A static equivalent of the `PushNotifications` type.
11 | @objc public final class PushNotificationsStatic: NSObject {
| `- error: Objective-C interoperability is disabled
12 |
13 | override private init() {
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:17:24: warning: static property 'instance' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
15 | }
16 |
17 | private static var instance: PushNotifications?
| |- warning: static property 'instance' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'instance' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'instance' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
18 | static var tokenProvider = [String: TokenProvider]()
19 |
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:28:6: error: Objective-C interoperability is disabled
26 | */
27 | /// - Tag: start
28 | @objc public static func start(instanceId: String) {
| `- error: Objective-C interoperability is disabled
29 | if instance == nil {
30 | instance = PushNotifications(instanceId: instanceId)
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:50:6: error: Objective-C interoperability is disabled
48 | */
49 | /// - Tag: register
50 | @objc public static func registerForRemoteNotifications() {
| `- error: Objective-C interoperability is disabled
51 | self.registerForPushNotifications(options: [.alert, .sound, .badge])
52 | }
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:102:6: error: Objective-C interoperability is disabled
100 | */
101 | /// - Tag: setUserId
102 | @objc public static func setUserId(_ userId: String, tokenProvider: TokenProvider, completion: @escaping (Error?) -> Void) {
| `- error: Objective-C interoperability is disabled
103 | if let staticInstance = instance {
104 | staticInstance.setUserId(userId, tokenProvider: tokenProvider, completion: completion)
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:116:6: error: Objective-C interoperability is disabled
114 | */
115 | /// - Tag: getUserId
116 | @objc public static func getUserId() -> String? {
| `- error: Objective-C interoperability is disabled
117 | if let staticInstance = instance {
118 | return staticInstance.getUserId()
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:130:6: error: Objective-C interoperability is disabled
128 | */
129 | /// - Tag: stop
130 | @objc public static func stop(completion: @escaping () -> Void) {
| `- error: Objective-C interoperability is disabled
131 | let instances = DeviceStateStore().getInstanceIds()
132 | let dispatchGroup = DispatchGroup()
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:152:6: error: Objective-C interoperability is disabled
150 | */
151 | /// - Tag: clearAllState
152 | @objc public static func clearAllState(completion: @escaping () -> Void) {
| `- error: Objective-C interoperability is disabled
153 | let instances = DeviceStateStore().getInstanceIds()
154 | let dispatchGroup = DispatchGroup()
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:174:6: error: Objective-C interoperability is disabled
172 | */
173 | /// - Tag: registerDeviceToken
174 | @objc public static func registerDeviceToken(_ deviceToken: Data) {
| `- error: Objective-C interoperability is disabled
175 | let instances = DeviceStateStore().getInstanceIds()
176 | var hasAnInstanceBeenStarted = false
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:205:6: error: Objective-C interoperability is disabled
203 | */
204 | /// - Tag: addDeviceInterest
205 | @objc public static func addDeviceInterest(interest: String) throws {
| `- error: Objective-C interoperability is disabled
206 | if let staticInstance = instance {
207 | try staticInstance.addDeviceInterest(interest: interest)
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:224:6: error: Objective-C interoperability is disabled
222 | */
223 | /// - Tag: setDeviceInterests
224 | @objc public static func setDeviceInterests(interests: [String]) throws {
| `- error: Objective-C interoperability is disabled
225 | if let staticInstance = instance {
226 | try staticInstance.setDeviceInterests(interests: interests)
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:242:6: error: Objective-C interoperability is disabled
240 | */
241 | /// - Tag: removeDeviceInterest
242 | @objc public static func removeDeviceInterest(interest: String) throws {
| `- error: Objective-C interoperability is disabled
243 | if let staticInstance = instance {
244 | try staticInstance.removeDeviceInterest(interest: interest)
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:252:6: error: Objective-C interoperability is disabled
250 | /// Unsubscribes the device from all the interests.
251 | /// - Tag: clearDeviceInterests
252 | @objc public static func clearDeviceInterests() throws {
| `- error: Objective-C interoperability is disabled
253 | if let staticInstance = instance {
254 | try staticInstance.clearDeviceInterests()
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:266:6: error: Objective-C interoperability is disabled
264 | */
265 | /// - Tag: getDeviceInterests
266 | @objc public static func getDeviceInterests() -> [String]? {
| `- error: Objective-C interoperability is disabled
267 | if let staticInstance = instance {
268 | return staticInstance.getDeviceInterests()
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:281:6: error: Objective-C interoperability is disabled
279 | /// - Tag: handleNotification
280 | @discardableResult
281 | @objc public static func handleNotification(userInfo: [AnyHashable: Any]) -> RemoteNotificationType {
| `- error: Objective-C interoperability is disabled
282 | guard FeatureFlags.DeliveryTrackingEnabled else {
283 | return .ShouldProcess
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:51:14: error: type 'PushNotificationsStatic' has no member 'registerForPushNotifications'
49 | /// - Tag: register
50 | @objc public static func registerForRemoteNotifications() {
51 | self.registerForPushNotifications(options: [.alert, .sound, .badge])
| `- error: type 'PushNotificationsStatic' has no member 'registerForPushNotifications'
52 | }
53 |
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:51:54: error: reference to member 'alert' cannot be resolved without a contextual type
49 | /// - Tag: register
50 | @objc public static func registerForRemoteNotifications() {
51 | self.registerForPushNotifications(options: [.alert, .sound, .badge])
| `- error: reference to member 'alert' cannot be resolved without a contextual type
52 | }
53 |
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:51:62: error: reference to member 'sound' cannot be resolved without a contextual type
49 | /// - Tag: register
50 | @objc public static func registerForRemoteNotifications() {
51 | self.registerForPushNotifications(options: [.alert, .sound, .badge])
| `- error: reference to member 'sound' cannot be resolved without a contextual type
52 | }
53 |
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:51:70: error: reference to member 'badge' cannot be resolved without a contextual type
49 | /// - Tag: register
50 | @objc public static func registerForRemoteNotifications() {
51 | self.registerForPushNotifications(options: [.alert, .sound, .badge])
| `- error: reference to member 'badge' cannot be resolved without a contextual type
52 | }
53 |
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:297:84: error: cannot find 'eventType' in scope
295 | #endif
296 |
297 | let serverSyncProcessHandler = ServerSyncProcessHandler.obtain(instanceId: eventType.getInstanceId())
| `- error: cannot find 'eventType' in scope
298 | serverSyncProcessHandler?.sendMessage(serverSyncJob: .reportEventJob(eventType: eventType))
299 |
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:298:89: error: cannot find 'eventType' in scope
296 |
297 | let serverSyncProcessHandler = ServerSyncProcessHandler.obtain(instanceId: eventType.getInstanceId())
298 | serverSyncProcessHandler?.sendMessage(serverSyncJob: .reportEventJob(eventType: eventType))
| `- error: cannot find 'eventType' in scope
299 |
300 | return EventTypeHandler.getRemoteNotificationType(userInfo)
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:298:63: error: cannot infer contextual base in reference to member 'reportEventJob'
296 |
297 | let serverSyncProcessHandler = ServerSyncProcessHandler.obtain(instanceId: eventType.getInstanceId())
298 | serverSyncProcessHandler?.sendMessage(serverSyncJob: .reportEventJob(eventType: eventType))
| `- error: cannot infer contextual base in reference to member 'reportEventJob'
299 |
300 | return EventTypeHandler.getRemoteNotificationType(userInfo)
/host/spi-builder-workspace/Sources/Services/BeamsTokenProvider.swift:4:2: error: Objective-C interoperability is disabled
2 |
3 | /// Used to generate tokens for users to authenticate against.
4 | @objc public final class BeamsTokenProvider: NSObject, TokenProvider {
| `- error: Objective-C interoperability is disabled
5 |
6 | /// The authentication endpoint URL `String`.
/host/spi-builder-workspace/Sources/Services/BeamsTokenProvider.swift:16:6: error: Objective-C interoperability is disabled
14 | /// - authURL: The authentication endpoint URL `String`.
15 | /// - getAuthData: A closure that returns an `AuthData` object.
16 | @objc public init(authURL: String, getAuthData: @escaping () -> (AuthData)) {
| `- error: Objective-C interoperability is disabled
17 | self.authURL = authURL
18 | self.getAuthData = getAuthData
/host/spi-builder-workspace/Sources/Services/BeamsTokenProvider.swift:30:26: error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
28 | let queryParams = authData.queryParams
29 |
30 | let urlSession = URLSession(configuration: .ephemeral)
| `- error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
31 |
32 | guard var components = URLComponents(string: authURL) else {
/host/spi-builder-workspace/Sources/Services/BeamsTokenProvider.swift:30:53: error: cannot infer contextual base in reference to member 'ephemeral'
28 | let queryParams = authData.queryParams
29 |
30 | let urlSession = URLSession(configuration: .ephemeral)
| `- error: cannot infer contextual base in reference to member 'ephemeral'
31 |
32 | guard var components = URLComponents(string: authURL) else {
/host/spi-builder-workspace/Sources/Services/BeamsTokenProvider.swift:43:26: error: cannot find 'URLRequest' in scope
41 | }
42 |
43 | var urlRequest = URLRequest(url: url)
| `- error: cannot find 'URLRequest' in scope
44 | urlRequest.httpMethod = "GET"
45 | for header in headers {
/host/spi-builder-workspace/Sources/Services/BeamsTokenProvider.swift:56:46: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
54 | return completion("", TokenProviderError.error("[PushNotifications] - BeamsTokenProvider: Error while casting response object to `HTTPURLResponse`"))
55 | }
56 | let statusCode = httpURLResponse.statusCode
| `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
57 | guard statusCode >= 200 && statusCode < 300 else {
58 | return completion("", TokenProviderError.error("[PushNotifications] - BeamsTokenProvider: Received HTTP Status Code: \(statusCode)"))
/host/spi-builder-workspace/Sources/Services/DeviceStateStore.swift:206:24: error: value of type 'UserDefaults' has no member 'value'
204 |
205 | func getServerConfirmedInterestsHash() -> String {
206 | return service.value(forKey: PersistenceConstants.PersistenceService.hashKey) as? String ?? ""
| `- error: value of type 'UserDefaults' has no member 'value'
207 | }
208 |
[31/46] Compiling PushNotifications Array+CalculateMD5Hash.swift
[32/46] Compiling PushNotifications Encodable+Encode.swift
[33/46] Compiling PushNotifications String+HexStringToData.swift
[34/46] Compiling PushNotifications URL+NetworkService.swift
[35/46] Compiling PushNotifications DeviceTokenHelper.swift
[36/46] Compiling PushNotifications MD5.swift
[37/46] Compiling PushNotifications Token.swift
[38/46] Compiling PushNotifications PropertyListReadable.swift
[39/46] Compiling PushNotifications PushNotificationsNetworkable.swift
[40/46] Compiling PushNotifications ReportEventType.swift
[41/46] Compiling PushNotifications RetryStrategy.swift
[42/46] Compiling PushNotifications PushNotificationsAPIError.swift
[43/46] Compiling PushNotifications PushNotificationsError.swift
[44/46] Compiling PushNotifications PusherAlreadyRegisteredError.swift
[45/46] Compiling PushNotifications Reason.swift
[46/46] Compiling PushNotifications Register.swift
BUILD FAILURE 6.0 linux