The Swift Package Index logo.Swift Package Index

Build Information

Failed to build IBM Verify, reference main (abae1d), with Swift 6.3 for macOS (SPM) on 26 Sep 2026 09:54:35 UTC.

Build Command

env DEVELOPER_DIR=/Applications/Xcode-26.5.0.app xcrun swift build --arch arm64

Build Log

========================================
RunAll
========================================
Builder version: 5.1.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/IBM-Verify/verify-sdk-ios.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/IBM-Verify/verify-sdk-ios
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at abae1de feat(core): add JailbreakDetector with structural dyld image anomaly check (#29)
Cloned https://github.com/IBM-Verify/verify-sdk-ios.git
Revision (git rev-parse @):
abae1de16113607970c24e10b22a888be242ca79
SUCCESS checkout https://github.com/IBM-Verify/verify-sdk-ios.git at main
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
  "identity": ".resolve-product-dependencies",
  "name": "resolve-dependencies",
  "url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "version": "unspecified",
  "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "traits": [
    "default"
  ],
  "dependencies": [
    {
      "identity": "verify-sdk-ios",
      "name": "IBM Verify",
      "url": "https://github.com/IBM-Verify/verify-sdk-ios.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/verify-sdk-ios",
      "traits": [
        "default"
      ],
      "dependencies": [
      ]
    }
  ]
}
Fetching https://github.com/IBM-Verify/verify-sdk-ios.git
[1/2396] Fetching verify-sdk-ios
Fetched https://github.com/IBM-Verify/verify-sdk-ios.git from cache (1.53s)
Creating working copy for https://github.com/IBM-Verify/verify-sdk-ios.git
Working copy of https://github.com/IBM-Verify/verify-sdk-ios.git resolved at main (abae1de)
warning: '.resolve-product-dependencies': dependency 'verify-sdk-ios' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.3
Building package at path:  $PWD
https://github.com/IBM-Verify/verify-sdk-ios.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-26.5.0.app xcrun swift build --arch arm64
Building for debugging...
[0/17] Copying README.md
[1/17] Copying Info.plist
[2/17] Write sources
[3/17] Copying README.md
[3/17] Write sources
[3/17] Copying Info.plist
[3/17] Copying Localizable.xcstrings
[3/17] Copying README.md
[8/17] Copying Info.plist
[8/17] Copying README.md
[10/17] Copying Info.plist
[10/17] Copying README.md
[10/17] Copying Info.plist
[11/17] Write sources
[16/17] Write swift-version-69A768CDF2A0BEE1.txt
error: emit-module command failed with exit code 1 (use -v to see invocation)
[18/52] Emitting module Adaptive
/Users/admin/builder/spi-builder-workspace/Sources/adaptive/AdaptiveContext.swift:5:8: error: no such module 'UIKit'
  3 | //
  4 |
  5 | import UIKit
    |        `- error: no such module 'UIKit'
  6 | import os.log
  7 |
[19/52] Compiling Adaptive Enums.swift
/Users/admin/builder/spi-builder-workspace/Sources/adaptive/AdaptiveContext.swift:5:8: error: no such module 'UIKit'
  3 | //
  4 |
  5 | import UIKit
    |        `- error: no such module 'UIKit'
  6 | import os.log
  7 |
[20/52] Compiling Adaptive resource_bundle_accessor.swift
/Users/admin/builder/spi-builder-workspace/Sources/adaptive/AdaptiveContext.swift:5:8: error: no such module 'UIKit'
  3 | //
  4 |
  5 | import UIKit
    |        `- error: no such module 'UIKit'
  6 | import os.log
  7 |
[21/52] Compiling Adaptive Evaluation.swift
/Users/admin/builder/spi-builder-workspace/Sources/adaptive/AdaptiveContext.swift:5:8: error: no such module 'UIKit'
  3 | //
  4 |
  5 | import UIKit
    |        `- error: no such module 'UIKit'
  6 | import os.log
  7 |
[22/52] Compiling Adaptive AdaptiveResult.swift
/Users/admin/builder/spi-builder-workspace/Sources/adaptive/AdaptiveContext.swift:5:8: error: no such module 'UIKit'
  3 | //
  4 |
  5 | import UIKit
    |        `- error: no such module 'UIKit'
  6 | import os.log
  7 |
[23/52] Compiling Adaptive AdaptiveContext.swift
/Users/admin/builder/spi-builder-workspace/Sources/adaptive/AdaptiveContext.swift:5:8: error: no such module 'UIKit'
  3 | //
  4 |
  5 | import UIKit
    |        `- error: no such module 'UIKit'
  6 | import os.log
  7 |
[24/52] Compiling Adaptive Helpers.swift
/Users/admin/builder/spi-builder-workspace/Sources/adaptive/AdaptiveContext.swift:5:8: error: no such module 'UIKit'
  3 | //
  4 |
  5 | import UIKit
    |        `- error: no such module 'UIKit'
  6 | import os.log
  7 |
[25/52] Compiling Adaptive AssessmentsFactors.swift
/Users/admin/builder/spi-builder-workspace/Sources/adaptive/AdaptiveContext.swift:5:8: error: no such module 'UIKit'
  3 | //
  4 |
  5 | import UIKit
    |        `- error: no such module 'UIKit'
  6 | import os.log
  7 |
[26/52] Compiling Core URLSessionDelegateHelper.swift
/Users/admin/builder/spi-builder-workspace/Sources/core/URLSessionDelegateHelper.swift:16:25: error: 'Logger' is only available in macOS 11.0 or newer
 12 | /// The `SelfSignedCertificateDelegate` will allow SSL traffic to be transferred using a self signed certificate.
 13 |  /// - Remark: Using this class should **ONLY** be used for testing purposes.
 14 | public final class SelfSignedCertificateDelegate: NSObject, URLSessionDelegate {
    |                    `- note: add '@available' attribute to enclosing class
 15 |     // MARK: Variables
 16 |     private let logger: Logger
    |                         `- error: 'Logger' is only available in macOS 11.0 or newer
 17 |     private let serviceName = Bundle.main.bundleIdentifier!
 18 |
/Users/admin/builder/spi-builder-workspace/Sources/core/URLSessionDelegateHelper.swift:52:25: error: 'Logger' is only available in macOS 11.0 or newer
 48 |
 49 | /// The `PinnedCertificateDelegate` compares certificate provided by the SSL handshake to a certificate presented by the client.
 50 | public final class PinnedCertificateDelegate: NSObject, URLSessionDelegate {
    |                    `- note: add '@available' attribute to enclosing class
 51 |     // MARK: Variables
 52 |     private let logger: Logger
    |                         `- error: 'Logger' is only available in macOS 11.0 or newer
 53 |     private let serviceName = Bundle.main.bundleIdentifier!
 54 |
/Users/admin/builder/spi-builder-workspace/Sources/core/URLSessionDelegateHelper.swift:21:18: error: 'Logger' is only available in macOS 11.0 or newer
 12 | /// The `SelfSignedCertificateDelegate` will allow SSL traffic to be transferred using a self signed certificate.
 13 |  /// - Remark: Using this class should **ONLY** be used for testing purposes.
 14 | public final class SelfSignedCertificateDelegate: NSObject, URLSessionDelegate {
    |                    `- note: add '@available' attribute to enclosing class
 15 |     // MARK: Variables
 16 |     private let logger: Logger
    :
 18 |
 19 |     /// Initializes the `SelfSignedCertificateDelegate`.
 20 |     public override init() {
    |                     `- note: add '@available' attribute to enclosing initializer
 21 |         logger = Logger(subsystem: serviceName, category: "networking")
    |                  |- error: 'Logger' is only available in macOS 11.0 or newer
    |                  `- note: add 'if #available' version check
 22 |     }
 23 |
/Users/admin/builder/spi-builder-workspace/Sources/core/URLSessionDelegateHelper.swift:32:26: error: 'OSLogMessage' is only available in macOS 11.0 or newer
 12 | /// The `SelfSignedCertificateDelegate` will allow SSL traffic to be transferred using a self signed certificate.
 13 |  /// - Remark: Using this class should **ONLY** be used for testing purposes.
 14 | public final class SelfSignedCertificateDelegate: NSObject, URLSessionDelegate {
    |                    `- note: add '@available' attribute to enclosing class
 15 |     // MARK: Variables
 16 |     private let logger: Logger
    :
 28 |     ///   - completionHandler: A handler that your delegate method must call.
 29 |     /// - Remark: This completion handler uses `credential`.
 30 |     public func urlSession(_: URLSession, didReceive challenge: URLAuthenticationChallenge, completionHandler: @escaping (URLSession.AuthChallengeDisposition, URLCredential?) -> Void) {
    |                 `- note: add '@available' attribute to enclosing instance method
 31 |         if let error = challenge.error {
 32 |             logger.error("Cancel authentication challenge. \(error.localizedDescription, privacy: .public)")
    |                          |- error: 'OSLogMessage' is only available in macOS 11.0 or newer
    |                          `- note: add 'if #available' version check
 33 |             completionHandler(.cancelAuthenticationChallenge, nil)
 34 |             return
/Users/admin/builder/spi-builder-workspace/Sources/core/URLSessionDelegateHelper.swift:32:61: error: 'appendInterpolation(_:align:privacy:)' is only available in macOS 11.0 or newer
 12 | /// The `SelfSignedCertificateDelegate` will allow SSL traffic to be transferred using a self signed certificate.
 13 |  /// - Remark: Using this class should **ONLY** be used for testing purposes.
 14 | public final class SelfSignedCertificateDelegate: NSObject, URLSessionDelegate {
    |                    `- note: add '@available' attribute to enclosing class
 15 |     // MARK: Variables
 16 |     private let logger: Logger
    :
 28 |     ///   - completionHandler: A handler that your delegate method must call.
 29 |     /// - Remark: This completion handler uses `credential`.
 30 |     public func urlSession(_: URLSession, didReceive challenge: URLAuthenticationChallenge, completionHandler: @escaping (URLSession.AuthChallengeDisposition, URLCredential?) -> Void) {
    |                 `- note: add '@available' attribute to enclosing instance method
 31 |         if let error = challenge.error {
 32 |             logger.error("Cancel authentication challenge. \(error.localizedDescription, privacy: .public)")
    |                                                             |- error: 'appendInterpolation(_:align:privacy:)' is only available in macOS 11.0 or newer
    |                                                             `- note: add 'if #available' version check
 33 |             completionHandler(.cancelAuthenticationChallenge, nil)
 34 |             return
/Users/admin/builder/spi-builder-workspace/Sources/core/URLSessionDelegateHelper.swift:38:25: error: 'OSLogMessage' is only available in macOS 11.0 or newer
 12 | /// The `SelfSignedCertificateDelegate` will allow SSL traffic to be transferred using a self signed certificate.
 13 |  /// - Remark: Using this class should **ONLY** be used for testing purposes.
 14 | public final class SelfSignedCertificateDelegate: NSObject, URLSessionDelegate {
    |                    `- note: add '@available' attribute to enclosing class
 15 |     // MARK: Variables
 16 |     private let logger: Logger
    :
 28 |     ///   - completionHandler: A handler that your delegate method must call.
 29 |     /// - Remark: This completion handler uses `credential`.
 30 |     public func urlSession(_: URLSession, didReceive challenge: URLAuthenticationChallenge, completionHandler: @escaping (URLSession.AuthChallengeDisposition, URLCredential?) -> Void) {
    |                 `- note: add '@available' attribute to enclosing instance method
 31 |         if let error = challenge.error {
 32 |             logger.error("Cancel authentication challenge. \(error.localizedDescription, privacy: .public)")
    :
 36 |
 37 |         guard let serverTrust = challenge.protectionSpace.serverTrust else {
 38 |             logger.info("SSL certificate trust for the challenge protection space was nil.")
    |                         |- error: 'OSLogMessage' is only available in macOS 11.0 or newer
    |                         `- note: add 'if #available' version check
 39 |             completionHandler(.performDefaultHandling, nil)
 40 |             return
/Users/admin/builder/spi-builder-workspace/Sources/core/URLSessionDelegateHelper.swift:43:21: error: 'OSLogMessage' is only available in macOS 11.0 or newer
 12 | /// The `SelfSignedCertificateDelegate` will allow SSL traffic to be transferred using a self signed certificate.
 13 |  /// - Remark: Using this class should **ONLY** be used for testing purposes.
 14 | public final class SelfSignedCertificateDelegate: NSObject, URLSessionDelegate {
    |                    `- note: add '@available' attribute to enclosing class
 15 |     // MARK: Variables
 16 |     private let logger: Logger
    :
 28 |     ///   - completionHandler: A handler that your delegate method must call.
 29 |     /// - Remark: This completion handler uses `credential`.
 30 |     public func urlSession(_: URLSession, didReceive challenge: URLAuthenticationChallenge, completionHandler: @escaping (URLSession.AuthChallengeDisposition, URLCredential?) -> Void) {
    |                 `- note: add '@available' attribute to enclosing instance method
 31 |         if let error = challenge.error {
 32 |             logger.error("Cancel authentication challenge. \(error.localizedDescription, privacy: .public)")
    :
 41 |         }
 42 |
 43 |         logger.info("Allowing self-signed certificate to be trusted for challenge.")
    |                     |- error: 'OSLogMessage' is only available in macOS 11.0 or newer
    |                     `- note: add 'if #available' version check
 44 |
 45 |         completionHandler(.useCredential, URLCredential(trust: serverTrust))
/Users/admin/builder/spi-builder-workspace/Sources/core/URLSessionDelegateHelper.swift:61:18: error: 'Logger' is only available in macOS 11.0 or newer
 48 |
 49 | /// The `PinnedCertificateDelegate` compares certificate provided by the SSL handshake to a certificate presented by the client.
 50 | public final class PinnedCertificateDelegate: NSObject, URLSessionDelegate {
    |                    `- note: add '@available' attribute to enclosing class
 51 |     // MARK: Variables
 52 |     private let logger: Logger
    :
 58 |     /// Initializes a `PinnedCertificateDelegate` with a certificate represented as a base64 `String`.
 59 |     /// - Parameter certificate: A base64 encoded DER (Distinguished Encoding Rules) representation of an X.509 certificate.
 60 |     public init?(with certificate: String) {
    |            `- note: add '@available' attribute to enclosing initializer
 61 |         logger = Logger(subsystem: serviceName, category: "networking")
    |                  |- error: 'Logger' is only available in macOS 11.0 or newer
    |                  `- note: add 'if #available' version check
 62 |
 63 |         guard let data = Data(base64Encoded: certificate) else {
/Users/admin/builder/spi-builder-workspace/Sources/core/URLSessionDelegateHelper.swift:64:26: error: 'OSLogMessage' is only available in macOS 11.0 or newer
 48 |
 49 | /// The `PinnedCertificateDelegate` compares certificate provided by the SSL handshake to a certificate presented by the client.
 50 | public final class PinnedCertificateDelegate: NSObject, URLSessionDelegate {
    |                    `- note: add '@available' attribute to enclosing class
 51 |     // MARK: Variables
 52 |     private let logger: Logger
    :
 58 |     /// Initializes a `PinnedCertificateDelegate` with a certificate represented as a base64 `String`.
 59 |     /// - Parameter certificate: A base64 encoded DER (Distinguished Encoding Rules) representation of an X.509 certificate.
 60 |     public init?(with certificate: String) {
    |            `- note: add '@available' attribute to enclosing initializer
 61 |         logger = Logger(subsystem: serviceName, category: "networking")
 62 |
 63 |         guard let data = Data(base64Encoded: certificate) else {
 64 |             logger.error("The base64 encoded certificate was invalid.")
    |                          |- error: 'OSLogMessage' is only available in macOS 11.0 or newer
    |                          `- note: add 'if #available' version check
 65 |             return nil
 66 |         }
/Users/admin/builder/spi-builder-workspace/Sources/core/URLSessionDelegateHelper.swift:78:26: error: 'OSLogMessage' is only available in macOS 11.0 or newer
 48 |
 49 | /// The `PinnedCertificateDelegate` compares certificate provided by the SSL handshake to a certificate presented by the client.
 50 | public final class PinnedCertificateDelegate: NSObject, URLSessionDelegate {
    |                    `- note: add '@available' attribute to enclosing class
 51 |     // MARK: Variables
 52 |     private let logger: Logger
    :
 74 |     ///   - challenge: An object that contains the request for authentication.
 75 |     ///   - completionHandler: A handler that your delegate method must call.
 76 |     public func urlSession(_: URLSession, didReceive challenge: URLAuthenticationChallenge, completionHandler: @escaping (URLSession.AuthChallengeDisposition, URLCredential?) -> Void) {
    |                 `- note: add '@available' attribute to enclosing instance method
 77 |         if let error = challenge.error {
 78 |             logger.error("Cancel authentication challenge. \(error.localizedDescription, privacy: .public)")
    |                          |- error: 'OSLogMessage' is only available in macOS 11.0 or newer
    |                          `- note: add 'if #available' version check
 79 |             completionHandler(.cancelAuthenticationChallenge, nil)
 80 |             return
/Users/admin/builder/spi-builder-workspace/Sources/core/URLSessionDelegateHelper.swift:78:61: error: 'appendInterpolation(_:align:privacy:)' is only available in macOS 11.0 or newer
 48 |
 49 | /// The `PinnedCertificateDelegate` compares certificate provided by the SSL handshake to a certificate presented by the client.
 50 | public final class PinnedCertificateDelegate: NSObject, URLSessionDelegate {
    |                    `- note: add '@available' attribute to enclosing class
 51 |     // MARK: Variables
 52 |     private let logger: Logger
    :
 74 |     ///   - challenge: An object that contains the request for authentication.
 75 |     ///   - completionHandler: A handler that your delegate method must call.
 76 |     public func urlSession(_: URLSession, didReceive challenge: URLAuthenticationChallenge, completionHandler: @escaping (URLSession.AuthChallengeDisposition, URLCredential?) -> Void) {
    |                 `- note: add '@available' attribute to enclosing instance method
 77 |         if let error = challenge.error {
 78 |             logger.error("Cancel authentication challenge. \(error.localizedDescription, privacy: .public)")
    |                                                             |- error: 'appendInterpolation(_:align:privacy:)' is only available in macOS 11.0 or newer
    |                                                             `- note: add 'if #available' version check
 79 |             completionHandler(.cancelAuthenticationChallenge, nil)
 80 |             return
/Users/admin/builder/spi-builder-workspace/Sources/core/URLSessionDelegateHelper.swift:85:25: error: 'OSLogMessage' is only available in macOS 11.0 or newer
 48 |
 49 | /// The `PinnedCertificateDelegate` compares certificate provided by the SSL handshake to a certificate presented by the client.
 50 | public final class PinnedCertificateDelegate: NSObject, URLSessionDelegate {
    |                    `- note: add '@available' attribute to enclosing class
 51 |     // MARK: Variables
 52 |     private let logger: Logger
    :
 74 |     ///   - challenge: An object that contains the request for authentication.
 75 |     ///   - completionHandler: A handler that your delegate method must call.
 76 |     public func urlSession(_: URLSession, didReceive challenge: URLAuthenticationChallenge, completionHandler: @escaping (URLSession.AuthChallengeDisposition, URLCredential?) -> Void) {
    |                 `- note: add '@available' attribute to enclosing instance method
 77 |         if let error = challenge.error {
 78 |             logger.error("Cancel authentication challenge. \(error.localizedDescription, privacy: .public)")
    :
 83 |         guard let serverTrust = challenge.protectionSpace.serverTrust else {
 84 |             // Terminate further processing, no certificate at index 0
 85 |             logger.info("SSL certificate trust chain for the challenge protection space was not found.")
    |                         |- error: 'OSLogMessage' is only available in macOS 11.0 or newer
    |                         `- note: add 'if #available' version check
 86 |             completionHandler(.cancelAuthenticationChallenge, nil)
 87 |             return
/Users/admin/builder/spi-builder-workspace/Sources/core/URLSessionDelegateHelper.swift:91:31: error: 'SecTrustCopyCertificateChain' is only available in macOS 12.0 or newer
 48 |
 49 | /// The `PinnedCertificateDelegate` compares certificate provided by the SSL handshake to a certificate presented by the client.
 50 | public final class PinnedCertificateDelegate: NSObject, URLSessionDelegate {
    |                    `- note: add '@available' attribute to enclosing class
 51 |     // MARK: Variables
 52 |     private let logger: Logger
    :
 74 |     ///   - challenge: An object that contains the request for authentication.
 75 |     ///   - completionHandler: A handler that your delegate method must call.
 76 |     public func urlSession(_: URLSession, didReceive challenge: URLAuthenticationChallenge, completionHandler: @escaping (URLSession.AuthChallengeDisposition, URLCredential?) -> Void) {
    |                 `- note: add '@available' attribute to enclosing instance method
 77 |         if let error = challenge.error {
 78 |             logger.error("Cancel authentication challenge. \(error.localizedDescription, privacy: .public)")
    :
 89 |
 90 |         // Compare the presented certificate to the pinned certificate.
 91 |         if let certificates = SecTrustCopyCertificateChain(serverTrust) as? [SecCertificate] {
    |                               |- error: 'SecTrustCopyCertificateChain' is only available in macOS 12.0 or newer
    |                               `- note: add 'if #available' version check
 92 |             let serverCertificatesData = Set(
 93 |                 certificates.map { SecCertificateCopyData($0) as Data }
/Users/admin/builder/spi-builder-workspace/Sources/core/URLSessionDelegateHelper.swift:97:29: error: 'OSLogMessage' is only available in macOS 11.0 or newer
 48 |
 49 | /// The `PinnedCertificateDelegate` compares certificate provided by the SSL handshake to a certificate presented by the client.
 50 | public final class PinnedCertificateDelegate: NSObject, URLSessionDelegate {
    |                    `- note: add '@available' attribute to enclosing class
 51 |     // MARK: Variables
 52 |     private let logger: Logger
    :
 74 |     ///   - challenge: An object that contains the request for authentication.
 75 |     ///   - completionHandler: A handler that your delegate method must call.
 76 |     public func urlSession(_: URLSession, didReceive challenge: URLAuthenticationChallenge, completionHandler: @escaping (URLSession.AuthChallengeDisposition, URLCredential?) -> Void) {
    |                 `- note: add '@available' attribute to enclosing instance method
 77 |         if let error = challenge.error {
 78 |             logger.error("Cancel authentication challenge. \(error.localizedDescription, privacy: .public)")
    :
 95 |
 96 |             if serverCertificatesData.contains(certificateData) {
 97 |                 logger.info("SSL certificate presented in challenge matches the pinned certificate.")
    |                             |- error: 'OSLogMessage' is only available in macOS 11.0 or newer
    |                             `- note: add 'if #available' version check
 98 |                 completionHandler(.useCredential, URLCredential(trust: serverTrust))
 99 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/core/URLSessionDelegateHelper.swift:105:21: error: 'OSLogMessage' is only available in macOS 11.0 or newer
 48 |
 49 | /// The `PinnedCertificateDelegate` compares certificate provided by the SSL handshake to a certificate presented by the client.
 50 | public final class PinnedCertificateDelegate: NSObject, URLSessionDelegate {
    |                    `- note: add '@available' attribute to enclosing class
 51 |     // MARK: Variables
 52 |     private let logger: Logger
    :
 74 |     ///   - challenge: An object that contains the request for authentication.
 75 |     ///   - completionHandler: A handler that your delegate method must call.
 76 |     public func urlSession(_: URLSession, didReceive challenge: URLAuthenticationChallenge, completionHandler: @escaping (URLSession.AuthChallengeDisposition, URLCredential?) -> Void) {
    |                 `- note: add '@available' attribute to enclosing instance method
 77 |         if let error = challenge.error {
 78 |             logger.error("Cancel authentication challenge. \(error.localizedDescription, privacy: .public)")
    :
103 |
104 |         // Don't trust the presented certificate by default.
105 |         logger.info("SSL certificate presented in challenge does not match the pinned certificate.")
    |                     |- error: 'OSLogMessage' is only available in macOS 11.0 or newer
    |                     `- note: add 'if #available' version check
106 |         completionHandler(.cancelAuthenticationChallenge, nil)
107 |     }
error: emit-module command failed with exit code 1 (use -v to see invocation)
[27/53] Emitting module FIDO2
/Users/admin/builder/spi-builder-workspace/Sources/fido2/PublicKeyCredentialProvider.swift:9:8: error: no such module 'UIKit'
  7 | import LocalAuthentication
  8 | import os.log
  9 | import UIKit
    |        `- error: no such module 'UIKit'
 10 |
 11 | /// A type that indicates when Fido2ApiClient encounters an error.
BUILD FAILURE 6.3 macosSpm