The Swift Package Index logo.Swift Package Index

Track the adoption of Swift 6 strict concurrency checks for data race safety. How many packages are Ready for Swift 6?

Build Information

Failed to build Zephyr, reference master (6a17bc), with Swift 6.0 for Linux on 4 Nov 2024 13:17:29 UTC.

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4606859-0":/host -w "$PWD" 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

========================================
RunAll
========================================
Builder version: 4.56.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/ArtSabintsev/Zephyr.git
Reference: master
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/ArtSabintsev/Zephyr
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> origin/master
HEAD is now at 6a17bcf Bump rexml from 3.2.5 to 3.2.8 (#69)
Cloned https://github.com/ArtSabintsev/Zephyr.git
Revision (git rev-parse @):
6a17bcfec8a650cc8ac3610ef2aed65fd509a945
SUCCESS checkout https://github.com/ArtSabintsev/Zephyr.git at master
========================================
Build
========================================
Selected platform:         linux
Swift version:             6.0
Building package at path:  $PWD
https://github.com/ArtSabintsev/Zephyr.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-0":/host -w "$PWD" 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
basic-6.0-latest: Pulling from finestructure/spi-images
Digest: sha256:47d26c99ca4f1ac0a332c85fd5b13ff4390e72115219984a57a68fe9d1063a05
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.0-latest
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-24593BA9C3E375BF.txt
error: emit-module command failed with exit code 1 (use -v to see invocation)
[3/4] Emitting module Zephyr
/host/spi-builder-workspace/Sources/Zephyr.swift:22:1: error: Objective-C interoperability is disabled
 20 | }
 21 |
 22 | @objcMembers
    | `- error: Objective-C interoperability is disabled
 23 | public final class Zephyr: NSObject {
 24 |     /// A debug flag.
/host/spi-builder-workspace/Sources/Zephyr.swift:29:23: warning: static property 'debugEnabled' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 27 |     ///
 28 |     /// By default, this flag is set to **false**.
 29 |     public static var debugEnabled = false
    |                       |- warning: static property 'debugEnabled' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'debugEnabled' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: annotate 'debugEnabled' 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
 30 |
 31 |     /// If **true**, then `NSUbiquitousKeyValueStore.synchronize()` will be called immediately after any change is made.
/host/spi-builder-workspace/Sources/Zephyr.swift:32:23: warning: static property 'syncUbiquitousKeyValueStoreOnChange' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 30 |
 31 |     /// If **true**, then `NSUbiquitousKeyValueStore.synchronize()` will be called immediately after any change is made.
 32 |     public static var syncUbiquitousKeyValueStoreOnChange = true
    |                       |- warning: static property 'syncUbiquitousKeyValueStoreOnChange' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'syncUbiquitousKeyValueStoreOnChange' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: annotate 'syncUbiquitousKeyValueStoreOnChange' 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
 33 |
 34 |     /// A string containing the notification name that will be posted when Zephyr receives updated data from iCloud.
/host/spi-builder-workspace/Sources/Zephyr.swift:38:24: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Zephyr' may have shared mutable state; this is an error in the Swift 6 language mode
 21 |
 22 | @objcMembers
 23 | public final class Zephyr: NSObject {
    |                    `- note: class 'Zephyr' does not conform to the 'Sendable' protocol
 24 |     /// A debug flag.
 25 |     ///
    :
 36 |
 37 |     /// The singleton for Zephyr.
 38 |     private static let shared = Zephyr()
    |                        |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Zephyr' may have shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: annotate 'shared' 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
 39 |
 40 |     /// A shared key that stores the last synchronization date between `UserDefaults` and `NSUbiquitousKeyValueStore`.
/host/spi-builder-workspace/Sources/Zephyr.swift:285:3: warning: 'public' modifier conflicts with extension's default access of 'private'
283 |   /// - Parameters:
284 |   ///     - to: A `UserDefaults` suite.
285 |   public static func setUserDefaultsSuite(to suite: UserDefaults) {
    |   `- warning: 'public' modifier conflicts with extension's default access of 'private'
286 |       shared.userDefaults = suite
287 |       printStatus(status: "Updated UserDefaults suite.")
/host/spi-builder-workspace/Sources/Zephyr.swift:438:94: error: cannot find type 'NSKeyValueChangeKey' in scope
436 |     }
437 |
438 |     public override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey: Any]?, context: UnsafeMutableRawPointer?) {
    |                                                                                              `- error: cannot find type 'NSKeyValueChangeKey' in scope
439 |         guard let keyPath = keyPath, let object = object, monitoredKeys.contains(keyPath) else {
440 |             return
/host/spi-builder-workspace/Sources/Zephyr.swift:438:26: error: method does not override any method from its superclass
436 |     }
437 |
438 |     public override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey: Any]?, context: UnsafeMutableRawPointer?) {
    |                          `- error: method does not override any method from its superclass
439 |         guard let keyPath = keyPath, let object = object, monitoredKeys.contains(keyPath) else {
440 |             return
/host/spi-builder-workspace/Sources/Zephyr.swift:458:2: error: Objective-C interoperability is disabled
456 | // MARK: - Observers (Objective-C)
457 |
458 | @objc
    |  `- error: Objective-C interoperability is disabled
459 | extension Zephyr {
460 |
[4/4] Compiling Zephyr Zephyr.swift
/host/spi-builder-workspace/Sources/Zephyr.swift:22:1: error: Objective-C interoperability is disabled
 20 | }
 21 |
 22 | @objcMembers
    | `- error: Objective-C interoperability is disabled
 23 | public final class Zephyr: NSObject {
 24 |     /// A debug flag.
/host/spi-builder-workspace/Sources/Zephyr.swift:29:23: warning: static property 'debugEnabled' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 27 |     ///
 28 |     /// By default, this flag is set to **false**.
 29 |     public static var debugEnabled = false
    |                       |- warning: static property 'debugEnabled' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'debugEnabled' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: annotate 'debugEnabled' 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
 30 |
 31 |     /// If **true**, then `NSUbiquitousKeyValueStore.synchronize()` will be called immediately after any change is made.
/host/spi-builder-workspace/Sources/Zephyr.swift:32:23: warning: static property 'syncUbiquitousKeyValueStoreOnChange' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 30 |
 31 |     /// If **true**, then `NSUbiquitousKeyValueStore.synchronize()` will be called immediately after any change is made.
 32 |     public static var syncUbiquitousKeyValueStoreOnChange = true
    |                       |- warning: static property 'syncUbiquitousKeyValueStoreOnChange' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'syncUbiquitousKeyValueStoreOnChange' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: annotate 'syncUbiquitousKeyValueStoreOnChange' 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
 33 |
 34 |     /// A string containing the notification name that will be posted when Zephyr receives updated data from iCloud.
/host/spi-builder-workspace/Sources/Zephyr.swift:38:24: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Zephyr' may have shared mutable state; this is an error in the Swift 6 language mode
 21 |
 22 | @objcMembers
 23 | public final class Zephyr: NSObject {
    |                    `- note: class 'Zephyr' does not conform to the 'Sendable' protocol
 24 |     /// A debug flag.
 25 |     ///
    :
 36 |
 37 |     /// The singleton for Zephyr.
 38 |     private static let shared = Zephyr()
    |                        |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Zephyr' may have shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: annotate 'shared' 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
 39 |
 40 |     /// A shared key that stores the last synchronization date between `UserDefaults` and `NSUbiquitousKeyValueStore`.
/host/spi-builder-workspace/Sources/Zephyr.swift:285:3: warning: 'public' modifier conflicts with extension's default access of 'private'
283 |   /// - Parameters:
284 |   ///     - to: A `UserDefaults` suite.
285 |   public static func setUserDefaultsSuite(to suite: UserDefaults) {
    |   `- warning: 'public' modifier conflicts with extension's default access of 'private'
286 |       shared.userDefaults = suite
287 |       printStatus(status: "Updated UserDefaults suite.")
/host/spi-builder-workspace/Sources/Zephyr.swift:438:94: error: cannot find type 'NSKeyValueChangeKey' in scope
436 |     }
437 |
438 |     public override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey: Any]?, context: UnsafeMutableRawPointer?) {
    |                                                                                              `- error: cannot find type 'NSKeyValueChangeKey' in scope
439 |         guard let keyPath = keyPath, let object = object, monitoredKeys.contains(keyPath) else {
440 |             return
/host/spi-builder-workspace/Sources/Zephyr.swift:438:26: error: method does not override any method from its superclass
436 |     }
437 |
438 |     public override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey: Any]?, context: UnsafeMutableRawPointer?) {
    |                          `- error: method does not override any method from its superclass
439 |         guard let keyPath = keyPath, let object = object, monitoredKeys.contains(keyPath) else {
440 |             return
/host/spi-builder-workspace/Sources/Zephyr.swift:458:2: error: Objective-C interoperability is disabled
456 | // MARK: - Observers (Objective-C)
457 |
458 | @objc
    |  `- error: Objective-C interoperability is disabled
459 | extension Zephyr {
460 |
/host/spi-builder-workspace/Sources/Zephyr.swift:59:16: error: cannot find 'NSUbiquitousKeyValueStore' in scope
 57 |     /// A session-persisted variable to directly access all of the `NSUbiquitousKeyValueStore` elements.
 58 |     private var zephyrRemoteStoreDictionary: [String: Any] {
 59 |         return NSUbiquitousKeyValueStore.default.dictionaryRepresentation
    |                `- error: cannot find 'NSUbiquitousKeyValueStore' in scope
 60 |     }
 61 |
/host/spi-builder-workspace/Sources/Zephyr.swift:71:9: error: cannot find 'NSUbiquitousKeyValueStore' in scope
 69 |         super.init()
 70 |         setupNotifications()
 71 |         NSUbiquitousKeyValueStore.default.synchronize()
    |         `- error: cannot find 'NSUbiquitousKeyValueStore' in scope
 72 |     }
 73 |
/host/spi-builder-workspace/Sources/Zephyr.swift:78:30: error: value of type 'UserDefaults' has no member 'removeObserver'
 76 |         zephyrQueue.sync {
 77 |             for key in registeredObservationKeys {
 78 |                 userDefaults.removeObserver(self, forKeyPath: key)
    |                              `- error: value of type 'UserDefaults' has no member 'removeObserver'
 79 |             }
 80 |         }
/host/spi-builder-workspace/Sources/Zephyr.swift:225:54: error: cannot find 'NSUbiquitousKeyValueStore' in scope
223 |     private func setupNotifications() {
224 |         NotificationCenter.default.addObserver(self, selector: #selector(keysDidChangeOnCloud(notification:)),
225 |                                                name: NSUbiquitousKeyValueStore.didChangeExternallyNotification,
    |                                                      `- error: cannot find 'NSUbiquitousKeyValueStore' in scope
226 |                                                object: nil)
227 |
/host/spi-builder-workspace/Sources/Zephyr.swift:224:64: error: '#selector' can only be used with the Objective-C runtime
222 |     /// Setup UIApplication and UIScene event state notifications.
223 |     private func setupNotifications() {
224 |         NotificationCenter.default.addObserver(self, selector: #selector(keysDidChangeOnCloud(notification:)),
    |                                                                `- error: '#selector' can only be used with the Objective-C runtime
225 |                                                name: NSUbiquitousKeyValueStore.didChangeExternallyNotification,
226 |                                                object: nil)
/host/spi-builder-workspace/Sources/Zephyr.swift:321:31: error: cannot find 'NSUbiquitousKeyValueStore' in scope
319 |     ///     - value: The value that will be synchronized. Must be passed with a key, otherwise, nothing will happen.
320 |     func syncToCloud(key: String? = nil, value: Any? = nil) {
321 |         let ubiquitousStore = NSUbiquitousKeyValueStore.default
    |                               `- error: cannot find 'NSUbiquitousKeyValueStore' in scope
322 |         ubiquitousStore.set(Date(), forKey: ZephyrSyncKey)
323 |
/host/spi-builder-workspace/Sources/Zephyr.swift:345:13: error: cannot find 'NSUbiquitousKeyValueStore' in scope
343 |             Zephyr.printKeySyncStatus(key: key, value: value, destination: .remote)
344 |         } else {
345 |             NSUbiquitousKeyValueStore.default.removeObject(forKey: key)
    |             `- error: cannot find 'NSUbiquitousKeyValueStore' in scope
346 |             Zephyr.printKeySyncStatus(key: key, value: value, destination: .remote)
347 |         }
/host/spi-builder-workspace/Sources/Zephyr.swift:371:44: warning: capture of 'defaults' with non-sendable type 'UserDefaults' in a `@Sendable` closure; this is an error in the Swift 6 language mode
369 |             for (key, value) in zephyrRemoteStoreDictionary {
370 |                 unregisterObserver(key: key)
371 |                 DispatchQueue.main.async { defaults.set(value, forKey: key) }
    |                                            `- warning: capture of 'defaults' with non-sendable type 'UserDefaults' in a `@Sendable` closure; this is an error in the Swift 6 language mode
372 |                 Zephyr.printKeySyncStatus(key: key, value: value, destination: .local)
373 |                 registerObserver(key: key)
Foundation.UserDefaults:1:12: note: class 'UserDefaults' does not conform to the 'Sendable' protocol
 1 | open class UserDefaults : NSObject {
   |            `- note: class 'UserDefaults' does not conform to the 'Sendable' protocol
 2 |     open class var standard: UserDefaults { get }
 3 |     open class func resetStandardUserDefaults()
/host/spi-builder-workspace/Sources/Zephyr.swift:371:57: warning: capture of 'value' with non-sendable type 'Any' in a `@Sendable` closure; this is an error in the Swift 6 language mode
369 |             for (key, value) in zephyrRemoteStoreDictionary {
370 |                 unregisterObserver(key: key)
371 |                 DispatchQueue.main.async { defaults.set(value, forKey: key) }
    |                                                         `- warning: capture of 'value' with non-sendable type 'Any' in a `@Sendable` closure; this is an error in the Swift 6 language mode
372 |                 Zephyr.printKeySyncStatus(key: key, value: value, destination: .local)
373 |                 registerObserver(key: key)
/host/spi-builder-workspace/Sources/Zephyr.swift:382:40: warning: capture of 'defaults' with non-sendable type 'UserDefaults' in a `@Sendable` closure; this is an error in the Swift 6 language mode
380 |
381 |         if let value = value {
382 |             DispatchQueue.main.async { defaults.set(value, forKey: key) }
    |                                        `- warning: capture of 'defaults' with non-sendable type 'UserDefaults' in a `@Sendable` closure; this is an error in the Swift 6 language mode
383 |             Zephyr.printKeySyncStatus(key: key, value: value, destination: .local)
384 |         } else {
Foundation.UserDefaults:1:12: note: class 'UserDefaults' does not conform to the 'Sendable' protocol
 1 | open class UserDefaults : NSObject {
   |            `- note: class 'UserDefaults' does not conform to the 'Sendable' protocol
 2 |     open class var standard: UserDefaults { get }
 3 |     open class func resetStandardUserDefaults()
/host/spi-builder-workspace/Sources/Zephyr.swift:382:53: warning: capture of 'value' with non-sendable type 'Any' in a `@Sendable` closure; this is an error in the Swift 6 language mode
380 |
381 |         if let value = value {
382 |             DispatchQueue.main.async { defaults.set(value, forKey: key) }
    |                                                     `- warning: capture of 'value' with non-sendable type 'Any' in a `@Sendable` closure; this is an error in the Swift 6 language mode
383 |             Zephyr.printKeySyncStatus(key: key, value: value, destination: .local)
384 |         } else {
/host/spi-builder-workspace/Sources/Zephyr.swift:385:40: warning: capture of 'defaults' with non-sendable type 'UserDefaults' in a `@Sendable` closure; this is an error in the Swift 6 language mode
383 |             Zephyr.printKeySyncStatus(key: key, value: value, destination: .local)
384 |         } else {
385 |             DispatchQueue.main.async { defaults.set(nil, forKey: key) }
    |                                        `- warning: capture of 'defaults' with non-sendable type 'UserDefaults' in a `@Sendable` closure; this is an error in the Swift 6 language mode
386 |             Zephyr.printKeySyncStatus(key: key, value: nil, destination: .local)
387 |         }
Foundation.UserDefaults:1:12: note: class 'UserDefaults' does not conform to the 'Sendable' protocol
 1 | open class UserDefaults : NSObject {
   |            `- note: class 'UserDefaults' does not conform to the 'Sendable' protocol
 2 |     open class var standard: UserDefaults { get }
 3 |     open class func resetStandardUserDefaults()
/host/spi-builder-workspace/Sources/Zephyr.swift:411:26: error: value of type 'UserDefaults' has no member 'addObserver'
409 |         if !registeredObservationKeys.contains(key) {
410 |
411 |             userDefaults.addObserver(self, forKeyPath: key, options: .new, context: nil)
    |                          `- error: value of type 'UserDefaults' has no member 'addObserver'
412 |             registeredObservationKeys.append(key)
413 |
/host/spi-builder-workspace/Sources/Zephyr.swift:411:71: error: cannot infer contextual base in reference to member 'new'
409 |         if !registeredObservationKeys.contains(key) {
410 |
411 |             userDefaults.addObserver(self, forKeyPath: key, options: .new, context: nil)
    |                                                                       `- error: cannot infer contextual base in reference to member 'new'
412 |             registeredObservationKeys.append(key)
413 |
/host/spi-builder-workspace/Sources/Zephyr.swift:411:85: error: 'nil' requires a contextual type
409 |         if !registeredObservationKeys.contains(key) {
410 |
411 |             userDefaults.addObserver(self, forKeyPath: key, options: .new, context: nil)
    |                                                                                     `- error: 'nil' requires a contextual type
412 |             registeredObservationKeys.append(key)
413 |
/host/spi-builder-workspace/Sources/Zephyr.swift:430:26: error: value of type 'UserDefaults' has no member 'removeObserver'
428 |         if let index = registeredObservationKeys.firstIndex(of: key) {
429 |
430 |             userDefaults.removeObserver(self, forKeyPath: key, context: nil)
    |                          `- error: value of type 'UserDefaults' has no member 'removeObserver'
431 |             registeredObservationKeys.remove(at: index)
432 |
/host/spi-builder-workspace/Sources/Zephyr.swift:430:73: error: 'nil' requires a contextual type
428 |         if let index = registeredObservationKeys.firstIndex(of: key) {
429 |
430 |             userDefaults.removeObserver(self, forKeyPath: key, context: nil)
    |                                                                         `- error: 'nil' requires a contextual type
431 |             registeredObservationKeys.remove(at: index)
432 |
/host/spi-builder-workspace/Sources/Zephyr.swift:445:16: warning: capture of 'self' with non-sendable type 'Zephyr' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 21 |
 22 | @objcMembers
 23 | public final class Zephyr: NSObject {
    |                    `- note: class 'Zephyr' does not conform to the 'Sendable' protocol
 24 |     /// A debug flag.
 25 |     ///
    :
443 |         // Synchronize changes if key is monitored and if key is currently registered to respond to changes
444 |         zephyrQueue.async {
445 |             if self.registeredObservationKeys.contains(keyPath) {
    |                `- warning: capture of 'self' with non-sendable type 'Zephyr' in a `@Sendable` closure; this is an error in the Swift 6 language mode
446 |                 if object is UserDefaults {
447 |                     self.userDefaults.set(Date(), forKey: self.ZephyrSyncKey)
/host/spi-builder-workspace/Sources/Zephyr.swift:446:20: warning: capture of 'object' with non-sendable type 'Any' in a `@Sendable` closure; this is an error in the Swift 6 language mode
444 |         zephyrQueue.async {
445 |             if self.registeredObservationKeys.contains(keyPath) {
446 |                 if object is UserDefaults {
    |                    `- warning: capture of 'object' with non-sendable type 'Any' in a `@Sendable` closure; this is an error in the Swift 6 language mode
447 |                     self.userDefaults.set(Date(), forKey: self.ZephyrSyncKey)
448 |                 }
/host/spi-builder-workspace/Sources/Zephyr.swift:463:9: error: cannot find 'NSUbiquitousKeyValueStore' in scope
461 |     /// Observation method for UIApplicationWillEnterForegroundNotification
462 |     func willEnterForeground(notification: Notification) {
463 |         NSUbiquitousKeyValueStore.default.synchronize()
    |         `- error: cannot find 'NSUbiquitousKeyValueStore' in scope
464 |     }
465 |
/host/spi-builder-workspace/Sources/Zephyr.swift:468:33: error: cannot find 'NSUbiquitousKeyValueStore' in scope
466 |     ///  Observation method for `NSUbiquitousKeyValueStore.didChangeExternallyNotification`
467 |     func keysDidChangeOnCloud(notification: Notification) {
468 |         if notification.name == NSUbiquitousKeyValueStore.didChangeExternallyNotification {
    |                                 `- error: cannot find 'NSUbiquitousKeyValueStore' in scope
469 |             guard let userInfo = (notification as NSNotification).userInfo,
470 |                 let cloudKeys = userInfo[NSUbiquitousKeyValueStoreChangedKeysKey] as? [String],
/host/spi-builder-workspace/Sources/Zephyr.swift:470:42: error: cannot find 'NSUbiquitousKeyValueStoreChangedKeysKey' in scope
468 |         if notification.name == NSUbiquitousKeyValueStore.didChangeExternallyNotification {
469 |             guard let userInfo = (notification as NSNotification).userInfo,
470 |                 let cloudKeys = userInfo[NSUbiquitousKeyValueStoreChangedKeysKey] as? [String],
    |                                          `- error: cannot find 'NSUbiquitousKeyValueStoreChangedKeysKey' in scope
471 |                 let remoteStoredDate = zephyrRemoteStoreDictionary[ZephyrSyncKey] as? Date else {
472 |                     return
BUILD FAILURE 6.0 linux