Build Information
Failed to build PushNotifications, reference 4.0.0 (037435), with Swift 6.4 for Wasm on 17 Sep 2026 18:35:00 UTC.
Build Command
bash -c docker run --pull=always --rm -v "checkouts-54344843-0":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/saguaro1/spi-images:wasm-6.4-latest swift build --swift-sdk swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm 2>&1Build Log
========================================
RunAll
========================================
Builder version: 5.1.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/pusher/push-notifications-swift.git
Reference: 4.0.0
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: git branch -m <name>
From https://github.com/pusher/push-notifications-swift
* tag 4.0.0 -> FETCH_HEAD
HEAD is now at 0374352 Merge pull request #174 from pusher/release/4.0.0
Cloned https://github.com/pusher/push-notifications-swift.git
Revision (git rev-parse @):
0374352e6a54071a4e3d2ddf674ba56a84630ba6
SUCCESS checkout https://github.com/pusher/push-notifications-swift.git at 4.0.0
========================================
Build
========================================
Selected platform: wasm
Swift version: 6.4
Building package at path: $PWD
https://github.com/pusher/push-notifications-swift.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-54344843-0":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/saguaro1/spi-images:wasm-6.4-latest swift build --swift-sdk swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm 2>&1
wasm-6.4-latest: Pulling from saguaro1/spi-images
Digest: sha256:4328fdb43c680d205c1d6761b1e3267aa38277eefdda9ddfb17b6a0f1a77857a
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:wasm-6.4-latest
Fetching https://github.com/AliSoftware/OHHTTPStubs
Fetching https://github.com/Quick/Nimble
[1/7900] Fetching ohhttpstubs
[1976/27886] Fetching ohhttpstubs, nimble
Fetched https://github.com/AliSoftware/OHHTTPStubs (1.23s)
Fetched https://github.com/Quick/Nimble (1.24s)
Computing version for https://github.com/AliSoftware/OHHTTPStubs
Computed https://github.com/AliSoftware/OHHTTPStubs at 9.1.0 (1.43s)
Computing version for https://github.com/Quick/Nimble
Computed https://github.com/Quick/Nimble at 9.2.1 (0.18s)
Fetching https://github.com/mattgallagher/CwlPreconditionTesting.git
[1/1257] Fetching cwlpreconditiontesting
Fetched https://github.com/mattgallagher/CwlPreconditionTesting.git (0.40s)
Computing version for https://github.com/mattgallagher/CwlPreconditionTesting.git
Computed https://github.com/mattgallagher/CwlPreconditionTesting.git at 2.2.2 (0.59s)
Fetching https://github.com/mattgallagher/CwlCatchException.git
[1/460] Fetching cwlcatchexception
Fetched https://github.com/mattgallagher/CwlCatchException.git (0.40s)
Computing version for https://github.com/mattgallagher/CwlCatchException.git
Computed https://github.com/mattgallagher/CwlCatchException.git at 2.2.1 (0.58s)
Creating working copy for https://github.com/mattgallagher/CwlPreconditionTesting.git
Working copy of https://github.com/mattgallagher/CwlPreconditionTesting.git resolved at 2.2.2
Creating working copy for https://github.com/Quick/Nimble
Working copy of https://github.com/Quick/Nimble resolved at 9.2.1
Creating working copy for https://github.com/mattgallagher/CwlCatchException.git
Working copy of https://github.com/mattgallagher/CwlCatchException.git resolved at 2.2.1
Creating working copy for https://github.com/AliSoftware/OHHTTPStubs
Working copy of https://github.com/AliSoftware/OHHTTPStubs resolved at 9.1.0
Building for debugging...
[Planning deferred tasks]
error: SwiftCompile normal wasm32 failed with a nonzero exit code. Command line: cd /host
/host/spi-builder-workspace/Sources/Models/AuthData.swift:4:2: [1;31merror: [1;39mObjective-C interoperability is disabled[0;0m
[0;36m2 |[0;0m
[0;36m3 |[0;0m /// Authentication data that is provided to a `TokenProvider`, such as `BeamsTokenProvider`.
[0;36m4 |[0;0m @objc public class AuthData: NSObject {
[0;36m|[0;0m `- [1;31merror: [1;39mObjective-C interoperability is disabled[0;0m
[0;36m5 |[0;0m
[0;36m6 |[0;0m /// 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: [1;31merror: [1;39mObjective-C interoperability is disabled[0;0m
[0;36m14 |[0;0m /// - headers: A `Dictionary` of header key / value pairs.
[0;36m15 |[0;0m /// - queryParams: A `Dictionary` of query parameters key / value pairs.
[0;36m16 |[0;0m @objc public init(headers: [String: String], queryParams: [String: String]) {
[0;36m|[0;0m `- [1;31merror: [1;39mObjective-C interoperability is disabled[0;0m
[0;36m17 |[0;0m self.headers = headers
[0;36m18 |[0;0m self.queryParams = queryParams
/host/spi-builder-workspace/Sources/Protocols/TokenProvider.swift:24:2: [1;31merror: [1;39mObjective-C interoperability is disabled[0;0m
[0;36m22 |[0;0m Conform to the TokenProvider protocol in order to generate the token for the user that you want to authenticate.
[0;36m23 |[0;0m */
[0;36m24 |[0;0m @objc public protocol TokenProvider {
[0;36m|[0;0m `- [1;31merror: [1;39mObjective-C interoperability is disabled[0;0m
[0;36m25 |[0;0m /**
[0;36m26 |[0;0m Method `fetchToken` will return the token on success or error on failure.
/host/spi-builder-workspace/Sources/PushNotifications.swift:11:2: [1;31merror: [1;39mObjective-C interoperability is disabled[0;0m
[0;36m9 |[0;0m
[0;36m10 |[0;0m /// The top-level entrypoint to the Beams Swift SDK.
[0;36m11 |[0;0m @objc public final class PushNotifications: NSObject {
[0;36m|[0;0m `- [1;31merror: [1;39mObjective-C interoperability is disabled[0;0m
[0;36m12 |[0;0m
[0;36m13 |[0;0m internal let instanceId: String
/host/spi-builder-workspace/Sources/PushNotifications.swift:22:6: [1;31merror: [1;39mObjective-C interoperability is disabled[0;0m
[0;36m20 |[0;0m /// Creates a `PushNotifications` object with a given `instanceId`.
[0;36m21 |[0;0m /// - Parameter instanceId: The instance identifier (from your app dashboard).
[0;36m22 |[0;0m @objc public init(instanceId: String) {
[0;36m|[0;0m `- [1;31merror: [1;39mObjective-C interoperability is disabled[0;0m
[0;36m23 |[0;0m self.instanceId = instanceId
[0;36m24 |[0;0m self.deviceStateStore = InstanceDeviceStateStore(instanceId)
/host/spi-builder-workspace/Sources/PushNotifications.swift:35:6: [1;31merror: [1;39mObjective-C interoperability is disabled[0;0m
[0;36m33 |[0;0m /// Returns a shared singleton PushNotifications object
[0;36m34 |[0;0m /// that can be accessed from anywhere in your project.
[0;36m35 |[0;0m @objc public static let shared = PushNotificationsStatic.self
[0;36m|[0;0m `- [1;31merror: [1;39mObjective-C interoperability is disabled[0;0m
[0;36m36 |[0;0m
[0;36m37 |[0;0m private lazy var serverSyncHandler = ServerSyncProcessHandler.obtain(
/host/spi-builder-workspace/Sources/PushNotifications.swift:51:6: [1;31merror: [1;39mObjective-C interoperability is disabled[0;0m
[0;36m49 |[0;0m */
[0;36m50 |[0;0m /// - Tag: start
[0;36m51 |[0;0m @objc public func start() {
[0;36m|[0;0m `- [1;31merror: [1;39mObjective-C interoperability is disabled[0;0m
[0;36m52 |[0;0m if UUID(uuidString: instanceId) == nil {
[0;36m53 |[0;0m print("[PushNotifications]: '\(instanceId)' is not a valid instance id.")
/host/spi-builder-workspace/Sources/PushNotifications.swift:78:6: [1;31merror: [1;39mObjective-C interoperability is disabled[0;0m
[0;36m76 |[0;0m */
[0;36m77 |[0;0m /// - Tag: register
[0;36m78 |[0;0m @objc public func registerForRemoteNotifications() {
[0;36m|[0;0m `- [1;31merror: [1;39mObjective-C interoperability is disabled[0;0m
[0;36m79 |[0;0m PushNotificationsStatic.registerForRemoteNotifications()
[0;36m80 |[0;0m }
/host/spi-builder-workspace/Sources/PushNotifications.swift:110:6: [1;31merror: [1;39mObjective-C interoperability is disabled[0;0m
[0;36m108 |[0;0m */
[0;36m109 |[0;0m /// - Tag: setUserId
[0;36m110 |[0;0m @objc public func setUserId(_ userId: String, tokenProvider: TokenProvider, completion: @escaping (Error?) -> Void) {
[0;36m|[0;0m `- [1;31merror: [1;39mObjective-C interoperability is disabled[0;0m
[0;36m111 |[0;0m if startHasBeenCalledThisSession == false {
[0;36m112 |[0;0m completion(PushNotificationsError.error("[PushNotifications] - `start` method must be called before setting `userId`"))
/host/spi-builder-workspace/Sources/PushNotifications.swift:156:6: [1;31merror: [1;39mObjective-C interoperability is disabled[0;0m
[0;36m154 |[0;0m }
[0;36m155 |[0;0m
[0;36m156 |[0;0m @objc private func printHelpfulMessage() {
[0;36m|[0;0m `- [1;31merror: [1;39mObjective-C interoperability is disabled[0;0m
[0;36m157 |[0;0m print("[PushNotifications] - It looks like setUserId hasn't completed yet -- have you called `registerDeviceToken`?")
[0;36m158 |[0;0m }
/host/spi-builder-workspace/Sources/PushNotifications.swift:167:6: [1;31merror: [1;39mObjective-C interoperability is disabled[0;0m
[0;36m165 |[0;0m */
[0;36m166 |[0;0m /// - Tag: stop
[0;36m167 |[0;0m @objc public func stop(completion: @escaping () -> Void) {
[0;36m|[0;0m `- [1;31merror: [1;39mObjective-C interoperability is disabled[0;0m
[0;36m168 |[0;0m let hadAnyInterests: Bool = InstanceDeviceStateStore.synchronize {
[0;36m169 |[0;0m let hadAnyInterests = self.deviceStateStore.getInterests()?.isEmpty ?? false
/host/spi-builder-workspace/Sources/PushNotifications.swift:196:6: [1;31merror: [1;39mObjective-C interoperability is disabled[0;0m
[0;36m194 |[0;0m */
[0;36m195 |[0;0m /// - Tag: clearAllState
[0;36m196 |[0;0m @objc public func clearAllState(completion: @escaping () -> Void) {
[0;36m|[0;0m `- [1;31merror: [1;39mObjective-C interoperability is disabled[0;0m
[0;36m197 |[0;0m let storedAPNsToken = self.deviceStateStore.getAPNsToken()
[0;36m198 |[0;0m let hasStartAlreadyBeenCalled = self.deviceStateStore.getStartJobHasBeenEnqueued()
/host/spi-builder-workspace/Sources/PushNotifications.swift:218:6: [1;31merror: [1;39mObjective-C interoperability is disabled[0;0m
[0;36m216 |[0;0m */
[0;36m217 |[0;0m /// - Tag: registerDeviceToken
[0;36m218 |[0;0m @objc public func registerDeviceToken(_ deviceToken: Data) {
[0;36m|[0;0m `- [1;31merror: [1;39mObjective-C interoperability is disabled[0;0m
[0;36m219 |[0;0m PushNotificationsStatic.registerDeviceToken(deviceToken)
[0;36m220 |[0;0m }
/host/spi-builder-workspace/Sources/PushNotifications.swift:232:6: [1;31merror: [1;39mObjective-C interoperability is disabled[0;0m
[0;36m230 |[0;0m */
[0;36m231 |[0;0m /// - Tag: addDeviceInterest
[0;36m232 |[0;0m @objc public func addDeviceInterest(interest: String) throws {
[0;36m|[0;0m `- [1;31merror: [1;39mObjective-C interoperability is disabled[0;0m
[0;36m233 |[0;0m guard self.validateInterestName(interest) else {
[0;36m234 |[0;0m throw InvalidInterestError.invalidName(interest)
/host/spi-builder-workspace/Sources/PushNotifications.swift:258:6: [1;31merror: [1;39mObjective-C interoperability is disabled[0;0m
[0;36m256 |[0;0m */
[0;36m257 |[0;0m /// - Tag: setDeviceInterests
[0;36m258 |[0;0m @objc public func setDeviceInterests(interests: [String]) throws {
[0;36m|[0;0m `- [1;31merror: [1;39mObjective-C interoperability is disabled[0;0m
[0;36m259 |[0;0m if let invalidInterests = self.validateInterestNames(interests), invalidInterests.count > 0 {
[0;36m260 |[0;0m throw MultipleInvalidInterestsError.invalidNames(invalidInterests)
/host/spi-builder-workspace/Sources/PushNotifications.swift:283:7: [1;31merror: [1;39mObjective-C interoperability is disabled[0;0m
[0;36m281 |[0;0m */
[0;36m282 |[0;0m /// - Tag: removeDeviceInterest
[0;36m283 |[0;0m @objc public func removeDeviceInterest(interest: String) throws {
[0;36m|[0;0m `- [1;31merror: [1;39mObjective-C interoperability is disabled[0;0m
[0;36m284 |[0;0m guard self.validateInterestName(interest) else {
[0;36m285 |[0;0m throw InvalidInterestError.invalidName(interest)
/host/spi-builder-workspace/Sources/PushNotifications.swift:300:6: [1;31merror: [1;39mObjective-C interoperability is disabled[0;0m
[0;36m298 |[0;0m /// Unsubscribes the device from all the interests.
[0;36m299 |[0;0m /// - Tag: clearDeviceInterests
[0;36m300 |[0;0m @objc public func clearDeviceInterests() throws {
[0;36m|[0;0m `- [1;31merror: [1;39mObjective-C interoperability is disabled[0;0m
[0;36m301 |[0;0m try self.setDeviceInterests(interests: [])
[0;36m302 |[0;0m }
/host/spi-builder-workspace/Sources/PushNotifications.swift:310:6: [1;31merror: [1;39mObjective-C interoperability is disabled[0;0m
[0;36m308 |[0;0m */
[0;36m309 |[0;0m /// - Tag: getDeviceInterests
[0;36m310 |[0;0m @objc public func getDeviceInterests() -> [String]? {
[0;36m|[0;0m `- [1;31merror: [1;39mObjective-C interoperability is disabled[0;0m
[0;36m311 |[0;0m return InstanceDeviceStateStore.synchronize {
[0;36m312 |[0;0m return self.deviceStateStore.getInterests()
/host/spi-builder-workspace/Sources/PushNotifications.swift:333:6: [1;31merror: [1;39mObjective-C interoperability is disabled[0;0m
[0;36m331 |[0;0m /// - Tag: handleNotification
[0;36m332 |[0;0m @discardableResult
[0;36m333 |[0;0m @objc public func handleNotification(userInfo: [AnyHashable: Any]) -> RemoteNotificationType {
[0;36m|[0;0m `- [1;31merror: [1;39mObjective-C interoperability is disabled[0;0m
[0;36m334 |[0;0m return PushNotificationsStatic.handleNotification(userInfo: userInfo)
[0;36m335 |[0;0m }
/host/spi-builder-workspace/Sources/PushNotifications.swift:352:2: [1;31merror: [1;39mObjective-C interoperability is disabled[0;0m
[0;36m350 |[0;0m Method `interestsSetOnDeviceDidChange(interests:)` will be called when interests set changes.
[0;36m351 |[0;0m */
[0;36m352 |[0;0m @objc public protocol InterestsChangedDelegate: AnyObject {
[0;36m|[0;0m `- [1;31merror: [1;39mObjective-C interoperability is disabled[0;0m
[0;36m353 |[0;0m /**
[0;36m354 |[0;0m Tells the delegate that the device's interests subscriptions list has changed.
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:11:2: [1;31merror: [1;39mObjective-C interoperability is disabled[0;0m
[0;36m9 |[0;0m
[0;36m10 |[0;0m /// A static equivalent of the `PushNotifications` type.
[0;36m11 |[0;0m @objc public final class PushNotificationsStatic: NSObject {
[0;36m|[0;0m `- [1;31merror: [1;39mObjective-C interoperability is disabled[0;0m
[0;36m12 |[0;0m
[0;36m13 |[0;0m override private init() {
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:28:6: [1;31merror: [1;39mObjective-C interoperability is disabled[0;0m
[0;36m26 |[0;0m */
[0;36m27 |[0;0m /// - Tag: start
[0;36m28 |[0;0m @objc public static func start(instanceId: String) {
[0;36m|[0;0m `- [1;31merror: [1;39mObjective-C interoperability is disabled[0;0m
[0;36m29 |[0;0m if instance == nil {
[0;36m30 |[0;0m instance = PushNotifications(instanceId: instanceId)
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:50:6: [1;31merror: [1;39mObjective-C interoperability is disabled[0;0m
[0;36m48 |[0;0m */
[0;36m49 |[0;0m /// - Tag: register
[0;36m50 |[0;0m @objc public static func registerForRemoteNotifications() {
[0;36m|[0;0m `- [1;31merror: [1;39mObjective-C interoperability is disabled[0;0m
[0;36m51 |[0;0m self.registerForPushNotifications(options: [.alert, .sound, .badge])
[0;36m52 |[0;0m }
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:102:6: [1;31merror: [1;39mObjective-C interoperability is disabled[0;0m
[0;36m100 |[0;0m */
[0;36m101 |[0;0m /// - Tag: setUserId
[0;36m102 |[0;0m @objc public static func setUserId(_ userId: String, tokenProvider: TokenProvider, completion: @escaping (Error?) -> Void) {
[0;36m|[0;0m `- [1;31merror: [1;39mObjective-C interoperability is disabled[0;0m
[0;36m103 |[0;0m if let staticInstance = instance {
[0;36m104 |[0;0m staticInstance.setUserId(userId, tokenProvider: tokenProvider, completion: completion)
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:117:6: [1;31merror: [1;39mObjective-C interoperability is disabled[0;0m
[0;36m115 |[0;0m */
[0;36m116 |[0;0m /// - Tag: stop
[0;36m117 |[0;0m @objc public static func stop(completion: @escaping () -> Void) {
[0;36m|[0;0m `- [1;31merror: [1;39mObjective-C interoperability is disabled[0;0m
[0;36m118 |[0;0m let instances = DeviceStateStore().getInstanceIds()
[0;36m119 |[0;0m let dispatchGroup = DispatchGroup()
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:139:6: [1;31merror: [1;39mObjective-C interoperability is disabled[0;0m
[0;36m137 |[0;0m */
[0;36m138 |[0;0m /// - Tag: clearAllState
[0;36m139 |[0;0m @objc public static func clearAllState(completion: @escaping () -> Void) {
[0;36m|[0;0m `- [1;31merror: [1;39mObjective-C interoperability is disabled[0;0m
[0;36m140 |[0;0m let instances = DeviceStateStore().getInstanceIds()
[0;36m141 |[0;0m let dispatchGroup = DispatchGroup()
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:161:6: [1;31merror: [1;39mObjective-C interoperability is disabled[0;0m
[0;36m159 |[0;0m */
[0;36m160 |[0;0m /// - Tag: registerDeviceToken
[0;36m161 |[0;0m @objc public static func registerDeviceToken(_ deviceToken: Data) {
[0;36m|[0;0m `- [1;31merror: [1;39mObjective-C interoperability is disabled[0;0m
[0;36m162 |[0;0m let instances = DeviceStateStore().getInstanceIds()
[0;36m163 |[0;0m var hasAnInstanceBeenStarted = false
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:192:6: [1;31merror: [1;39mObjective-C interoperability is disabled[0;0m
[0;36m190 |[0;0m */
[0;36m191 |[0;0m /// - Tag: addDeviceInterest
[0;36m192 |[0;0m @objc public static func addDeviceInterest(interest: String) throws {
[0;36m|[0;0m `- [1;31merror: [1;39mObjective-C interoperability is disabled[0;0m
[0;36m193 |[0;0m if let staticInstance = instance {
[0;36m194 |[0;0m try staticInstance.addDeviceInterest(interest: interest)
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:211:6: [1;31merror: [1;39mObjective-C interoperability is disabled[0;0m
[0;36m209 |[0;0m */
[0;36m210 |[0;0m /// - Tag: setDeviceInterests
[0;36m211 |[0;0m @objc public static func setDeviceInterests(interests: [String]) throws {
[0;36m|[0;0m `- [1;31merror: [1;39mObjective-C interoperability is disabled[0;0m
[0;36m212 |[0;0m if let staticInstance = instance {
[0;36m213 |[0;0m try staticInstance.setDeviceInterests(interests: interests)
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:229:6: [1;31merror: [1;39mObjective-C interoperability is disabled[0;0m
[0;36m227 |[0;0m */
[0;36m228 |[0;0m /// - Tag: removeDeviceInterest
[0;36m229 |[0;0m @objc public static func removeDeviceInterest(interest: String) throws {
[0;36m|[0;0m `- [1;31merror: [1;39mObjective-C interoperability is disabled[0;0m
[0;36m230 |[0;0m if let staticInstance = instance {
[0;36m231 |[0;0m try staticInstance.removeDeviceInterest(interest: interest)
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:239:6: [1;31merror: [1;39mObjective-C interoperability is disabled[0;0m
[0;36m237 |[0;0m /// Unsubscribes the device from all the interests.
[0;36m238 |[0;0m /// - Tag: clearDeviceInterests
[0;36m239 |[0;0m @objc public static func clearDeviceInterests() throws {
[0;36m|[0;0m `- [1;31merror: [1;39mObjective-C interoperability is disabled[0;0m
[0;36m240 |[0;0m if let staticInstance = instance {
[0;36m241 |[0;0m try staticInstance.clearDeviceInterests()
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:253:6: [1;31merror: [1;39mObjective-C interoperability is disabled[0;0m
[0;36m251 |[0;0m */
[0;36m252 |[0;0m /// - Tag: getDeviceInterests
[0;36m253 |[0;0m @objc public static func getDeviceInterests() -> [String]? {
[0;36m|[0;0m `- [1;31merror: [1;39mObjective-C interoperability is disabled[0;0m
[0;36m254 |[0;0m if let staticInstance = instance {
[0;36m255 |[0;0m return staticInstance.getDeviceInterests()
/host/spi-builder-workspace/Sources/PushNotificationsStatic.swift:268:6: [1;31merror: [1;39mObjective-C interoperability is disabled[0;0m
[0;36m266 |[0;0m /// - Tag: handleNotification
[0;36m267 |[0;0m @discardableResult
[0;36m268 |[0;0m @objc public static func handleNotification(userInfo: [AnyHashable: Any]) -> RemoteNotificationType {
[0;36m|[0;0m `- [1;31merror: [1;39mObjective-C interoperability is disabled[0;0m
[0;36m269 |[0;0m guard FeatureFlags.DeliveryTrackingEnabled else {
[0;36m270 |[0;0m return .ShouldProcess
/host/spi-builder-workspace/Sources/Services/BeamsTokenProvider.swift:4:2: [1;31merror: [1;39mObjective-C interoperability is disabled[0;0m
[0;36m2 |[0;0m
[0;36m3 |[0;0m /// Used to generate tokens for users to authenticate against.
[0;36m4 |[0;0m @objc public final class BeamsTokenProvider: NSObject, TokenProvider {
[0;36m|[0;0m `- [1;31merror: [1;39mObjective-C interoperability is disabled[0;0m
[0;36m5 |[0;0m
[0;36m6 |[0;0m /// The authentication endpoint URL `String`.
/host/spi-builder-workspace/Sources/Services/BeamsTokenProvider.swift:16:6: [1;31merror: [1;39mObjective-C interoperability is disabled[0;0m
[0;36m14 |[0;0m /// - authURL: The authentication endpoint URL `String`.
[0;36m15 |[0;0m /// - getAuthData: A closure that returns an `AuthData` object.
[0;36m16 |[0;0m @objc public init(authURL: String, getAuthData: @escaping () -> (AuthData)) {
[0;36m|[0;0m `- [1;31merror: [1;39mObjective-C interoperability is disabled[0;0m
[0;36m17 |[0;0m self.authURL = authURL
[0;36m18 |[0;0m self.getAuthData = getAuthData
/host/spi-builder-workspace/Sources/Services/DeviceStateStore.swift:100:24: [1;31merror: [1;39mcannot find 'DispatchQueue' in scope[0;0m
[0;36m98 |[0;0m
[0;36m99 |[0;0m class InstanceDeviceStateStore {
[0;36m100 |[0;0m static let queue = [4;39mDispatchQueue[0;0m(label: "com.pusher.beams.deviceStateStoreQueue")
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'DispatchQueue' in scope[0;0m
[0;36m101 |[0;0m let service: UserDefaults
[0;36m102 |[0;0m let instanceId: String?
/host/spi-builder-workspace/Sources/Services/NetworkService.swift:4:18: [1;31merror: [1;39m'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.[0;0m
[0;36m2 |[0;0m
[0;36m3 |[0;0m class NetworkService: PushNotificationsNetworkable {
[0;36m4 |[0;0m let session: [4;39mURLSession[0;0m
[0;36m|[0;0m `- [1;31merror: [1;39m'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.[0;0m
[0;36m5 |[0;0m
[0;36m6 |[0;0m init(session: URLSession) {
Foundation.URLSession:2:18: [1;39mnote: [1;39m'URLSession' has been explicitly marked unavailable here[0;0m
[0;36m1 |[0;0m @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
[0;36m2 |[0;0m public typealias URLSession = AnyObject
[0;36m|[0;0m `- [1;39mnote: [1;39m'URLSession' has been explicitly marked unavailable here[0;0m
/host/spi-builder-workspace/Sources/Services/NetworkService.swift:6:19: [1;31merror: [1;39m'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.[0;0m
[0;36m4 |[0;0m let session: URLSession
[0;36m5 |[0;0m
[0;36m6 |[0;0m init(session: [4;39mURLSession[0;0m) {
[0;36m|[0;0m `- [1;31merror: [1;39m'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.[0;0m
[0;36m7 |[0;0m self.session = session
[0;36m8 |[0;0m }
Foundation.URLSession:2:18: [1;39mnote: [1;39m'URLSession' has been explicitly marked unavailable here[0;0m
[0;36m1 |[0;0m @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
[0;36m2 |[0;0m public typealias URLSession = AnyObject
[0;36m|[0;0m `- [1;39mnote: [1;39m'URLSession' has been explicitly marked unavailable here[0;0m
/host/spi-builder-workspace/Sources/Services/NetworkService.swift:225:44: [1;31merror: [1;39mcannot find type 'URLRequest' in scope[0;0m
[0;36m223 |[0;0m
[0;36m224 |[0;0m // MARK: Networking Layer
[0;36m225 |[0;0m private func networkRequest(_ request: [4;39mURLRequest[0;0m,
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'URLRequest' in scope[0;0m
[0;36m226 |[0;0m session: URLSession,
[0;36m227 |[0;0m retryStrategy: RetryStrategy) -> Result<Data, PushNotificationsAPIError> {
/host/spi-builder-workspace/Sources/Services/NetworkService.swift:226:42: [1;31merror: [1;39m'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.[0;0m
[0;36m224 |[0;0m // MARK: Networking Layer
[0;36m225 |[0;0m private func networkRequest(_ request: URLRequest,
[0;36m226 |[0;0m session: [4;39mURLSession[0;0m,
[0;36m|[0;0m `- [1;31merror: [1;39m'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.[0;0m
[0;36m227 |[0;0m retryStrategy: RetryStrategy) -> Result<Data, PushNotificationsAPIError> {
[0;36m228 |[0;0m let semaphore = DispatchSemaphore(value: 0)
Foundation.URLSession:2:18: [1;39mnote: [1;39m'URLSession' has been explicitly marked unavailable here[0;0m
[0;36m1 |[0;0m @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
[0;36m2 |[0;0m public typealias URLSession = AnyObject
[0;36m|[0;0m `- [1;39mnote: [1;39m'URLSession' has been explicitly marked unavailable here[0;0m
/host/spi-builder-workspace/Sources/Services/NetworkService.swift:283:85: [1;31merror: [1;39mcannot find type 'URLRequest' in scope[0;0m
[0;36m281 |[0;0m }
[0;36m282 |[0;0m
[0;36m283 |[0;0m private func setRequest(url: URL, httpMethod: HTTPMethod, body: Data? = nil) -> [4;39mURLRequest[0;0m {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'URLRequest' in scope[0;0m
[0;36m284 |[0;0m var request = URLRequest(url: url)
[0;36m285 |[0;0m request.addValue("application/json", forHTTPHeaderField: "Content-Type")
/host/spi-builder-workspace/Sources/Services/ServerSyncEventHandler.swift:5:47: [1;31merror: [1;39mcannot find 'DispatchQueue' in scope[0;0m
[0;36m3 |[0;0m class ServerSyncEventHandler {
[0;36m4 |[0;0m
[0;36m5 |[0;0m static let serverSyncEventHandlersQueue = [4;39mDispatchQueue[0;0m(label: "com.pusher.beams.serverSyncEventHandlersQueue")
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'DispatchQueue' in scope[0;0m
[0;36m6 |[0;0m static var serverSyncEventHandlers = [String: ServerSyncEventHandler]()
[0;36m7 |[0;0m
/host/spi-builder-workspace/Sources/Services/ServerSyncJobStore.swift:8:37: [1;31merror: [1;39mcannot find 'DispatchQueue' in scope[0;0m
[0;36m6 |[0;0m private let fileManager = FileManager.default
[0;36m7 |[0;0m private var jobStoreArray: [ServerSyncJob] = []
[0;36m8 |[0;0m private let syncJobStoreQueue = [4;39mDispatchQueue[0;0m(label: "com.pusher.beams.syncJobStoreQueue")
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'DispatchQueue' in scope[0;0m
[0;36m9 |[0;0m
[0;36m10 |[0;0m init(instanceId: String) {
/host/spi-builder-workspace/Sources/Services/ServerSyncProcessHandler.swift:4:50: [1;31merror: [1;39mcannot find 'DispatchQueue' in scope[0;0m
[0;36m2 |[0;0m
[0;36m3 |[0;0m class ServerSyncProcessHandler {
[0;36m4 |[0;0m private static let serverSyncHandlersQueue = [4;39mDispatchQueue[0;0m(label: "com.pusher.beams.serverSyncHandlersQueue")
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'DispatchQueue' in scope[0;0m
[0;36m5 |[0;0m private static var serverSyncHandlers = [String: ServerSyncProcessHandler]()
[0;36m6 |[0;0m static func obtain(instanceId: String, getTokenProvider: @escaping () -> TokenProvider?, handleServerSyncEvent: @escaping (ServerSyncEvent) -> Void) -> ServerSyncProcessHandler {
/host/spi-builder-workspace/Sources/Services/ServerSyncProcessHandler.swift:32:35: [1;31merror: [1;39mcannot find type 'DispatchQueue' in scope[0;0m
[0;36m30 |[0;0m
[0;36m31 |[0;0m private let instanceId: String
[0;36m32 |[0;0m private let sendMessageQueue: [4;39mDispatchQueue[0;0m
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'DispatchQueue' in scope[0;0m
[0;36m33 |[0;0m private let handleMessageQueue: DispatchQueue
[0;36m34 |[0;0m private let networkService: NetworkService
/host/spi-builder-workspace/Sources/Services/ServerSyncProcessHandler.swift:33:37: [1;31merror: [1;39mcannot find type 'DispatchQueue' in scope[0;0m
[0;36m31 |[0;0m private let instanceId: String
[0;36m32 |[0;0m private let sendMessageQueue: DispatchQueue
[0;36m33 |[0;0m private let handleMessageQueue: [4;39mDispatchQueue[0;0m
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'DispatchQueue' in scope[0;0m
[0;36m34 |[0;0m private let networkService: NetworkService
[0;36m35 |[0;0m private let getTokenProvider: () -> TokenProvider?
Failed frontend command:
/usr/bin/swift-frontend -frontend -emit-module -experimental-skip-non-inlinable-function-bodies-without-types /host/spi-builder-workspace/Sources/Extensions/Array+CalculateMD5Hash.swift /host/spi-builder-workspace/Sources/Extensions/Encodable+Encode.swift /host/spi-builder-workspace/Sources/Extensions/String+HexStringToData.swift /host/spi-builder-workspace/Sources/Extensions/URL+NetworkService.swift /host/spi-builder-workspace/Sources/Helpers/DeviceTokenHelper.swift /host/spi-builder-workspace/Sources/Helpers/MD5.swift /host/spi-builder-workspace/Sources/Models/AuthData.swift /host/spi-builder-workspace/Sources/Models/Constants.swift /host/spi-builder-workspace/Sources/Models/Device.swift /host/spi-builder-workspace/Sources/Models/FeatureFlags.swift /host/spi-builder-workspace/Sources/Models/HTTPMethod.swift /host/spi-builder-workspace/Sources/Models/InstanceId.swift /host/spi-builder-workspace/Sources/Models/InterestValidationError.swift /host/spi-builder-workspace/Sources/Models/Interests.swift /host/spi-builder-workspace/Sources/Models/Metadata.swift /host/spi-builder-workspace/Sources/Models/MultipleInvalidInterestsError.swift /host/spi-builder-workspace/Sources/Models/PersistenceConstants.swift /host/spi-builder-workspace/Sources/Models/PublishId.swift /host/spi-builder-workspace/Sources/Models/PushNotificationsAPIError.swift /host/spi-builder-workspace/Sources/Models/PushNotificationsError.swift /host/spi-builder-workspace/Sources/Models/PusherAlreadyRegisteredError.swift /host/spi-builder-workspace/Sources/Models/Reason.swift /host/spi-builder-workspace/Sources/Models/Register.swift /host/spi-builder-workspace/Sources/Models/RemoteNotificationType.swift /host/spi-builder-workspace/Sources/Models/SDK.swift /host/spi-builder-workspace/Sources/Models/ServerSyncEvent.swift /host/spi-builder-workspace/Sources/Models/ServerSyncJob.swift /host/spi-builder-workspace/Sources/Models/SystemVersion.swift /host/spi-builder-workspace/Sources/Models/Token.swift /host/spi-builder-workspace/Sources/Protocols/PropertyListReadable.swift /host/spi-builder-workspace/Sources/Protocols/PushNotificationsNetworkable.swift /host/spi-builder-workspace/Sources/Protocols/ReportEventType.swift /host/spi-builder-workspace/Sources/Protocols/RetryStrategy.swift /host/spi-builder-workspace/Sources/Protocols/TokenProvider.swift /host/spi-builder-workspace/Sources/PushNotifications.swift /host/spi-builder-workspace/Sources/PushNotificationsStatic.swift /host/spi-builder-workspace/Sources/Services/BeamsTokenProvider.swift /host/spi-builder-workspace/Sources/Services/DeviceStateStore.swift /host/spi-builder-workspace/Sources/Services/EventTypeHandler.swift /host/spi-builder-workspace/Sources/Services/NetworkService.swift /host/spi-builder-workspace/Sources/Services/ServerSyncEventHandler.swift /host/spi-builder-workspace/Sources/Services/ServerSyncJobStore.swift /host/spi-builder-workspace/Sources/Services/ServerSyncProcessHandler.swift -target wasm32-unknown-wasip1 -disable-objc-interop -sdk /root/.swiftpm/swift-sdks/swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm.artifactbundle/swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm/wasm32-unknown-wasip1/WASI.sdk -sysroot /root/.swiftpm/swift-sdks/swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm.artifactbundle/swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm/wasm32-unknown-wasip1/WASI.sdk -I /host/spi-builder-workspace/.build/out/Products/Debug-webassembly-wasm32 -module-cache-path /host/spi-builder-workspace/.build/out/ModuleCache.noindex -color-diagnostics -Xcc -fcolor-diagnostics -enable-testing -g -debug-info-format\=dwarf -dwarf-version\=4 -swift-version 5 -Onone -D SWIFT_PACKAGE -D DEBUG -D SWIFT_MODULE_RESOURCE_BUNDLE_UNAVAILABLE -D Xcode -serialize-debugging-options -enable-experimental-feature DebugDescriptionMacro -empty-abi-descriptor -external-plugin-path /usr/lib/swift/host/plugins/testing\#/usr/bin/swift-plugin-server -validate-clang-modules-once -clang-build-session-file /host/spi-builder-workspace/.build/out/ModuleCache.noindex/Session.modulevalidation -Xcc -working-directory -Xcc /host -resource-dir /root/.swiftpm/swift-sdks/swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm.artifactbundle/swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static -use-static-resource-dir -enable-anonymous-context-mangled-names -file-compilation-dir /host -Xcc -resource-dir -Xcc /root/.swiftpm/swift-sdks/swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm.artifactbundle/swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/clang -Xcc -D_LIBCPP_HARDENING_MODE\=_LIBCPP_HARDENING_MODE_DEBUG -Xcc -fmodules-prune-interval\=86400 -Xcc -fmodules-prune-after\=345600 -Xcc -I/host/spi-builder-workspace/.build/out/Products/Debug-webassembly-wasm32/include -Xcc -I/host/spi-builder-workspace/.build/out/Intermediates.noindex/PushNotifications.build/Debug-webassembly-wasm32/PushNotifications-t.build/DerivedSources-normal/wasm32 -Xcc -I/host/spi-builder-workspace/.build/out/Intermediates.noindex/PushNotifications.build/Debug-webassembly-wasm32/PushNotifications-t.build/DerivedSources/wasm32 -Xcc -I/host/spi-builder-workspace/.build/out/Intermediates.noindex/PushNotifications.build/Debug-webassembly-wasm32/PushNotifications-t.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -no-auto-bridging-header-chaining -module-name PushNotifications -const-gather-protocols-file /host/spi-builder-workspace/.build/out/Intermediates.noindex/PushNotifications.build/Debug-webassembly-wasm32/PushNotifications-t.build/Objects-normal/wasm32/PushNotifications_const_extract_protocols.json -in-process-plugin-server-path /usr/lib/swift/host/libSwiftInProcPluginServer.so -plugin-path /usr/lib/swift/host/plugins -plugin-path /usr/local/lib/swift/host/plugins -emit-module-doc-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/PushNotifications.build/Debug-webassembly-wasm32/PushNotifications-t.build/Objects-normal/wasm32/Modules/PushNotifications.swiftdoc -emit-module-source-info-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/PushNotifications.build/Debug-webassembly-wasm32/PushNotifications-t.build/Objects-normal/wasm32/Modules/PushNotifications.swiftsourceinfo -emit-objc-header-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/PushNotifications.build/Debug-webassembly-wasm32/PushNotifications-t.build/Objects-normal/wasm32/PushNotifications-Swift.h -serialize-diagnostics-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/PushNotifications.build/Debug-webassembly-wasm32/PushNotifications-t.build/Objects-normal/wasm32/PushNotifications-primary-emit-module.dia -emit-dependencies-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/PushNotifications.build/Debug-webassembly-wasm32/PushNotifications-t.build/Objects-normal/wasm32/PushNotifications-primary-emit-module.d -parse-as-library -o /host/spi-builder-workspace/.build/out/Intermediates.noindex/PushNotifications.build/Debug-webassembly-wasm32/PushNotifications-t.build/Objects-normal/wasm32/Modules/PushNotifications.swiftmodule
[27 / 35] PushNotifications
error: Build failed
BUILD FAILURE 6.4 wasm