Build Information
Failed to build PushExpressLib, reference main (deae72
), with Swift 6.0 for macOS (SPM) on 16 Sep 2024 05:47:28 UTC.
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.0.0-Release.Candidate.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Build Log
========================================
RunAll
========================================
Builder version: 4.53.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/kidjuniper/PushExpressLib.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/kidjuniper/PushExpressLib
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at deae723 Update README.md
Cloned https://github.com/kidjuniper/PushExpressLib.git
Revision (git rev-parse @):
deae7231c75921de3e66384ef45e1a9030be81fa
SUCCESS checkout https://github.com/kidjuniper/PushExpressLib.git at main
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.0
Building package at path: $PWD
https://github.com/kidjuniper/PushExpressLib.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.0.0-Release.Candidate.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-117DEE11B69C53C9.txt
error: emit-module command failed with exit code 1 (use -v to see invocation)
[3/8] Emitting module PushExpressLib
/Users/admin/builder/spi-builder-workspace/Sources/PushExpressLib/Extensions/UNUserNotificationCenterDelegate.swift:11:50: error: 'UNUserNotificationCenter' is only available in macOS 10.14 or newer
8 | import UserNotifications
9 |
10 | extension PushExpressManager: UNUserNotificationCenterDelegate {
| `- note: add @available attribute to enclosing extension
11 | public func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {
| | `- error: 'UNUserNotificationCenter' is only available in macOS 10.14 or newer
| `- note: add @available attribute to enclosing instance method
12 | let data = notification.request.content.userInfo
13 | if let msgId = data["px.msg_id"] as? String {
/Users/admin/builder/spi-builder-workspace/Sources/PushExpressLib/Extensions/UNUserNotificationCenterDelegate.swift:11:102: error: 'UNNotification' is only available in macOS 10.14 or newer
8 | import UserNotifications
9 |
10 | extension PushExpressManager: UNUserNotificationCenterDelegate {
| `- note: add @available attribute to enclosing extension
11 | public func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {
| | `- error: 'UNNotification' is only available in macOS 10.14 or newer
| `- note: add @available attribute to enclosing instance method
12 | let data = notification.request.content.userInfo
13 | if let msgId = data["px.msg_id"] as? String {
/Users/admin/builder/spi-builder-workspace/Sources/PushExpressLib/Extensions/UNUserNotificationCenterDelegate.swift:11:170: error: 'UNNotificationPresentationOptions' is only available in macOS 10.14 or newer
8 | import UserNotifications
9 |
10 | extension PushExpressManager: UNUserNotificationCenterDelegate {
| `- note: add @available attribute to enclosing extension
11 | public func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {
| | `- error: 'UNNotificationPresentationOptions' is only available in macOS 10.14 or newer
| `- note: add @available attribute to enclosing instance method
12 | let data = notification.request.content.userInfo
13 | if let msgId = data["px.msg_id"] as? String {
/Users/admin/builder/spi-builder-workspace/Sources/PushExpressLib/Extensions/UNUserNotificationCenterDelegate.swift:40:50: error: 'UNUserNotificationCenter' is only available in macOS 10.14 or newer
8 | import UserNotifications
9 |
10 | extension PushExpressManager: UNUserNotificationCenterDelegate {
| `- note: add @available attribute to enclosing extension
11 | public func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {
12 | let data = notification.request.content.userInfo
:
38 | }
39 |
40 | public func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) {
| | `- error: 'UNUserNotificationCenter' is only available in macOS 10.14 or newer
| `- note: add @available attribute to enclosing instance method
41 |
42 | let userInfo = response.notification.request.content.userInfo
/Users/admin/builder/spi-builder-workspace/Sources/PushExpressLib/Extensions/UNUserNotificationCenterDelegate.swift:40:97: error: 'UNNotificationResponse' is only available in macOS 10.14 or newer
8 | import UserNotifications
9 |
10 | extension PushExpressManager: UNUserNotificationCenterDelegate {
| `- note: add @available attribute to enclosing extension
11 | public func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {
12 | let data = notification.request.content.userInfo
:
38 | }
39 |
40 | public func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) {
| | `- error: 'UNNotificationResponse' is only available in macOS 10.14 or newer
| `- note: add @available attribute to enclosing instance method
41 |
42 | let userInfo = response.notification.request.content.userInfo
/Users/admin/builder/spi-builder-workspace/Sources/PushExpressLib/Extensions/URLSessionLoadImage.swift:12:105: error: 'UNNotificationAttachment' is only available in macOS 10.14 or newer
9 | import UserNotifications
10 |
11 | extension URLSession {
| `- note: add @available attribute to enclosing extension
12 | public class func downloadImage(atURL url: URL, withCompletionHandler completionHandler: @escaping (UNNotificationAttachment?, NSError?) -> Void) {
| | `- error: 'UNNotificationAttachment' is only available in macOS 10.14 or newer
| `- note: add @available attribute to enclosing class method
13 | let dataTask = URLSession.shared.dataTask(with: url) { data, response, error in
14 | if let error = error {
/Users/admin/builder/spi-builder-workspace/Sources/PushExpressLib/NotificationManager.swift:15:45: error: 'UNNotificationRequest' is only available in macOS 10.14 or newer
9 | import UserNotifications
10 |
11 | public class NotificationManager {
| `- note: add @available attribute to enclosing class
12 |
13 | public init() {}
14 |
15 | public func handleNotification(request: UNNotificationRequest, contentHandler: @escaping (UNNotificationContent) -> Void) {
| | `- error: 'UNNotificationRequest' is only available in macOS 10.14 or newer
| `- note: add @available attribute to enclosing instance method
16 | guard let content = (request.content.mutableCopy() as? UNMutableNotificationContent) else {
17 | return contentHandler(request.content)
/Users/admin/builder/spi-builder-workspace/Sources/PushExpressLib/NotificationManager.swift:15:95: error: 'UNNotificationContent' is only available in macOS 10.14 or newer
9 | import UserNotifications
10 |
11 | public class NotificationManager {
| `- note: add @available attribute to enclosing class
12 |
13 | public init() {}
14 |
15 | public func handleNotification(request: UNNotificationRequest, contentHandler: @escaping (UNNotificationContent) -> Void) {
| | `- error: 'UNNotificationContent' is only available in macOS 10.14 or newer
| `- note: add @available attribute to enclosing instance method
16 | guard let content = (request.content.mutableCopy() as? UNMutableNotificationContent) else {
17 | return contentHandler(request.content)
/Users/admin/builder/spi-builder-workspace/Sources/PushExpressLib/NotificationManager.swift:47:70: error: 'UNNotificationAttachment' is only available in macOS 10.14 or newer
9 | import UserNotifications
10 |
11 | public class NotificationManager {
| `- note: add @available attribute to enclosing class
12 |
13 | public init() {}
:
45 | }
46 |
47 | public func downloadImage(atURL url: URL, completion: @escaping (UNNotificationAttachment?, Error?) -> Void) {
| | `- error: 'UNNotificationAttachment' is only available in macOS 10.14 or newer
| `- note: add @available attribute to enclosing instance method
48 | let task = URLSession.shared.downloadTask(with: url) { location, response, error in
49 | guard let location = location, error == nil else {
/Users/admin/builder/spi-builder-workspace/Sources/PushExpressLib/PushExpressLib.swift:9:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'PushExpressManager' may have shared mutable state; this is an error in the Swift 6 language mode
6 | import UserNotifications
7 |
8 | public final class PushExpressManager: NSObject {
| `- note: class 'PushExpressManager' does not conform to the 'Sendable' protocol
9 | public static let shared = PushExpressManager()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'PushExpressManager' 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
10 | private var appId: String?
11 | private var icId: String?
[4/8] Compiling PushExpressLib Enums.swift
[5/8] Compiling PushExpressLib UNUserNotificationCenterDelegate.swift
/Users/admin/builder/spi-builder-workspace/Sources/PushExpressLib/Extensions/UNUserNotificationCenterDelegate.swift:11:50: error: 'UNUserNotificationCenter' is only available in macOS 10.14 or newer
8 | import UserNotifications
9 |
10 | extension PushExpressManager: UNUserNotificationCenterDelegate {
| `- note: add @available attribute to enclosing extension
11 | public func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {
| | `- error: 'UNUserNotificationCenter' is only available in macOS 10.14 or newer
| `- note: add @available attribute to enclosing instance method
12 | let data = notification.request.content.userInfo
13 | if let msgId = data["px.msg_id"] as? String {
/Users/admin/builder/spi-builder-workspace/Sources/PushExpressLib/Extensions/UNUserNotificationCenterDelegate.swift:11:102: error: 'UNNotification' is only available in macOS 10.14 or newer
8 | import UserNotifications
9 |
10 | extension PushExpressManager: UNUserNotificationCenterDelegate {
| `- note: add @available attribute to enclosing extension
11 | public func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {
| | `- error: 'UNNotification' is only available in macOS 10.14 or newer
| `- note: add @available attribute to enclosing instance method
12 | let data = notification.request.content.userInfo
13 | if let msgId = data["px.msg_id"] as? String {
/Users/admin/builder/spi-builder-workspace/Sources/PushExpressLib/Extensions/UNUserNotificationCenterDelegate.swift:11:170: error: 'UNNotificationPresentationOptions' is only available in macOS 10.14 or newer
8 | import UserNotifications
9 |
10 | extension PushExpressManager: UNUserNotificationCenterDelegate {
| `- note: add @available attribute to enclosing extension
11 | public func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {
| | `- error: 'UNNotificationPresentationOptions' is only available in macOS 10.14 or newer
| `- note: add @available attribute to enclosing instance method
12 | let data = notification.request.content.userInfo
13 | if let msgId = data["px.msg_id"] as? String {
/Users/admin/builder/spi-builder-workspace/Sources/PushExpressLib/Extensions/UNUserNotificationCenterDelegate.swift:40:50: error: 'UNUserNotificationCenter' is only available in macOS 10.14 or newer
8 | import UserNotifications
9 |
10 | extension PushExpressManager: UNUserNotificationCenterDelegate {
| `- note: add @available attribute to enclosing extension
11 | public func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {
12 | let data = notification.request.content.userInfo
:
38 | }
39 |
40 | public func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) {
| | `- error: 'UNUserNotificationCenter' is only available in macOS 10.14 or newer
| `- note: add @available attribute to enclosing instance method
41 |
42 | let userInfo = response.notification.request.content.userInfo
/Users/admin/builder/spi-builder-workspace/Sources/PushExpressLib/Extensions/UNUserNotificationCenterDelegate.swift:40:97: error: 'UNNotificationResponse' is only available in macOS 10.14 or newer
8 | import UserNotifications
9 |
10 | extension PushExpressManager: UNUserNotificationCenterDelegate {
| `- note: add @available attribute to enclosing extension
11 | public func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {
12 | let data = notification.request.content.userInfo
:
38 | }
39 |
40 | public func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) {
| | `- error: 'UNNotificationResponse' is only available in macOS 10.14 or newer
| `- note: add @available attribute to enclosing instance method
41 |
42 | let userInfo = response.notification.request.content.userInfo
/Users/admin/builder/spi-builder-workspace/Sources/PushExpressLib/Extensions/UNUserNotificationCenterDelegate.swift:15:31: error: 'UNMutableNotificationContent' is only available in macOS 10.14 or newer
8 | import UserNotifications
9 |
10 | extension PushExpressManager: UNUserNotificationCenterDelegate {
| `- note: add @available attribute to enclosing extension
11 | public func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {
| `- note: add @available attribute to enclosing instance method
12 | let data = notification.request.content.userInfo
13 | if let msgId = data["px.msg_id"] as? String {
14 | if let title = data["px.title"] as? String, let body = data["px.body"] as? String {
15 | let content = UNMutableNotificationContent()
| |- error: 'UNMutableNotificationContent' is only available in macOS 10.14 or newer
| `- note: add 'if #available' version check
16 | content.title = title
17 | content.body = body
/Users/admin/builder/spi-builder-workspace/Sources/PushExpressLib/Extensions/UNUserNotificationCenterDelegate.swift:26:39: error: 'UNNotificationRequest' is only available in macOS 10.14 or newer
8 | import UserNotifications
9 |
10 | extension PushExpressManager: UNUserNotificationCenterDelegate {
| `- note: add @available attribute to enclosing extension
11 | public func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {
| `- note: add @available attribute to enclosing instance method
12 | let data = notification.request.content.userInfo
13 | if let msgId = data["px.msg_id"] as? String {
:
24 | }
25 |
26 | let request = UNNotificationRequest(identifier: msgId, content: content, trigger: nil)
| |- error: 'UNNotificationRequest' is only available in macOS 10.14 or newer
| `- note: add 'if #available' version check
27 | UNUserNotificationCenter.current().add(request, withCompletionHandler: nil)
28 | }
/Users/admin/builder/spi-builder-workspace/Sources/PushExpressLib/Extensions/UNUserNotificationCenterDelegate.swift:27:25: error: 'UNUserNotificationCenter' is only available in macOS 10.14 or newer
8 | import UserNotifications
9 |
10 | extension PushExpressManager: UNUserNotificationCenterDelegate {
| `- note: add @available attribute to enclosing extension
11 | public func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {
| `- note: add @available attribute to enclosing instance method
12 | let data = notification.request.content.userInfo
13 | if let msgId = data["px.msg_id"] as? String {
:
25 |
26 | let request = UNNotificationRequest(identifier: msgId, content: content, trigger: nil)
27 | UNUserNotificationCenter.current().add(request, withCompletionHandler: nil)
| |- error: 'UNUserNotificationCenter' is only available in macOS 10.14 or newer
| `- note: add 'if #available' version check
28 | }
29 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/PushExpressLib/Extensions/UNUserNotificationCenterDelegate.swift:30:35: error: 'UNNotificationRequest' is only available in macOS 10.14 or newer
8 | import UserNotifications
9 |
10 | extension PushExpressManager: UNUserNotificationCenterDelegate {
| `- note: add @available attribute to enclosing extension
11 | public func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {
| `- note: add @available attribute to enclosing instance method
12 | let data = notification.request.content.userInfo
13 | if let msgId = data["px.msg_id"] as? String {
:
28 | }
29 | } else {
30 | let request = UNNotificationRequest(identifier: msgId, content: content, trigger: nil)
| |- error: 'UNNotificationRequest' is only available in macOS 10.14 or newer
| `- note: add 'if #available' version check
31 | UNUserNotificationCenter.current().add(request, withCompletionHandler: nil)
32 | }
/Users/admin/builder/spi-builder-workspace/Sources/PushExpressLib/Extensions/UNUserNotificationCenterDelegate.swift:31:21: error: 'UNUserNotificationCenter' is only available in macOS 10.14 or newer
8 | import UserNotifications
9 |
10 | extension PushExpressManager: UNUserNotificationCenterDelegate {
| `- note: add @available attribute to enclosing extension
11 | public func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {
| `- note: add @available attribute to enclosing instance method
12 | let data = notification.request.content.userInfo
13 | if let msgId = data["px.msg_id"] as? String {
:
29 | } else {
30 | let request = UNNotificationRequest(identifier: msgId, content: content, trigger: nil)
31 | UNUserNotificationCenter.current().add(request, withCompletionHandler: nil)
| |- error: 'UNUserNotificationCenter' is only available in macOS 10.14 or newer
| `- note: add 'if #available' version check
32 | }
33 | PushExpressManager.shared.sendNotificationEvent(msgId: msgId, event: .delivered)
/Users/admin/builder/spi-builder-workspace/Sources/PushExpressLib/Extensions/UNUserNotificationCenterDelegate.swift:37:29: error: 'alert' is only available in macOS 10.14 or newer
8 | import UserNotifications
9 |
10 | extension PushExpressManager: UNUserNotificationCenterDelegate {
| `- note: add @available attribute to enclosing extension
11 | public func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {
| `- note: add @available attribute to enclosing instance method
12 | let data = notification.request.content.userInfo
13 | if let msgId = data["px.msg_id"] as? String {
:
35 | }
36 |
37 | completionHandler([.alert, .sound, .badge])
| |- error: 'alert' is only available in macOS 10.14 or newer
| `- note: add 'if #available' version check
38 | }
39 |
/Users/admin/builder/spi-builder-workspace/Sources/PushExpressLib/PushExpressLib.swift:9:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'PushExpressManager' may have shared mutable state; this is an error in the Swift 6 language mode
6 | import UserNotifications
7 |
8 | public final class PushExpressManager: NSObject {
| `- note: class 'PushExpressManager' does not conform to the 'Sendable' protocol
9 | public static let shared = PushExpressManager()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'PushExpressManager' 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
10 | private var appId: String?
11 | private var icId: String?
[6/8] Compiling PushExpressLib URLSessionLoadImage.swift
/Users/admin/builder/spi-builder-workspace/Sources/PushExpressLib/Extensions/URLSessionLoadImage.swift:12:105: error: 'UNNotificationAttachment' is only available in macOS 10.14 or newer
9 | import UserNotifications
10 |
11 | extension URLSession {
| `- note: add @available attribute to enclosing extension
12 | public class func downloadImage(atURL url: URL, withCompletionHandler completionHandler: @escaping (UNNotificationAttachment?, NSError?) -> Void) {
| | `- error: 'UNNotificationAttachment' is only available in macOS 10.14 or newer
| `- note: add @available attribute to enclosing class method
13 | let dataTask = URLSession.shared.dataTask(with: url) { data, response, error in
14 | if let error = error {
/Users/admin/builder/spi-builder-workspace/Sources/PushExpressLib/Extensions/URLSessionLoadImage.swift:35:38: error: 'UNNotificationAttachment' is only available in macOS 10.14 or newer
9 | import UserNotifications
10 |
11 | extension URLSession {
| `- note: add @available attribute to enclosing extension
12 | public class func downloadImage(atURL url: URL, withCompletionHandler completionHandler: @escaping (UNNotificationAttachment?, NSError?) -> Void) {
| `- note: add @available attribute to enclosing class method
13 | let dataTask = URLSession.shared.dataTask(with: url) { data, response, error in
14 | if let error = error {
:
33 | try data.write(to: fileURL)
34 |
35 | let attachment = try UNNotificationAttachment(identifier: "image", url: fileURL, options: nil)
| |- error: 'UNNotificationAttachment' is only available in macOS 10.14 or newer
| `- note: add 'if #available' version check
36 |
37 | completionHandler(attachment, nil)
/Users/admin/builder/spi-builder-workspace/Sources/PushExpressLib/Extensions/URLSessionLoadImage.swift:15:17: warning: capture of 'completionHandler' with non-sendable type '(UNNotificationAttachment?, NSError?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
13 | let dataTask = URLSession.shared.dataTask(with: url) { data, response, error in
14 | if let error = error {
15 | completionHandler(nil, error as NSError)
| |- warning: capture of 'completionHandler' with non-sendable type '(UNNotificationAttachment?, NSError?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
16 | return
17 | }
[7/8] Compiling PushExpressLib PushExpressLib.swift
/Users/admin/builder/spi-builder-workspace/Sources/PushExpressLib/PushExpressLib.swift:9:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'PushExpressManager' may have shared mutable state; this is an error in the Swift 6 language mode
6 | import UserNotifications
7 |
8 | public final class PushExpressManager: NSObject {
| `- note: class 'PushExpressManager' does not conform to the 'Sendable' protocol
9 | public static let shared = PushExpressManager()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'PushExpressManager' 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
10 | private var appId: String?
11 | private var icId: String?
/Users/admin/builder/spi-builder-workspace/Sources/PushExpressLib/PushExpressLib.swift:35:13: error: 'UNUserNotificationCenter' is only available in macOS 10.14 or newer
6 | import UserNotifications
7 |
8 | public final class PushExpressManager: NSObject {
| `- note: add @available attribute to enclosing class
9 | public static let shared = PushExpressManager()
10 | private var appId: String?
:
16 | }
17 |
18 | public func initialize(appId: String,
| `- note: add @available attribute to enclosing instance method
19 | transportType: TransportType,
20 | foreground: Bool,
:
33 |
34 | if foreground {
35 | UNUserNotificationCenter.current().delegate = PushExpressManager.shared
| |- error: 'UNUserNotificationCenter' is only available in macOS 10.14 or newer
| `- note: add 'if #available' version check
36 |
37 | UNUserNotificationCenter.current().requestAuthorization(options: [.alert, .sound, .badge]) { granted, error in
/Users/admin/builder/spi-builder-workspace/Sources/PushExpressLib/PushExpressLib.swift:37:13: error: 'UNUserNotificationCenter' is only available in macOS 10.14 or newer
6 | import UserNotifications
7 |
8 | public final class PushExpressManager: NSObject {
| `- note: add @available attribute to enclosing class
9 | public static let shared = PushExpressManager()
10 | private var appId: String?
:
16 | }
17 |
18 | public func initialize(appId: String,
| `- note: add @available attribute to enclosing instance method
19 | transportType: TransportType,
20 | foreground: Bool,
:
35 | UNUserNotificationCenter.current().delegate = PushExpressManager.shared
36 |
37 | UNUserNotificationCenter.current().requestAuthorization(options: [.alert, .sound, .badge]) { granted, error in
| |- error: 'UNUserNotificationCenter' is only available in macOS 10.14 or newer
| `- note: add 'if #available' version check
38 | }
39 | }
/Users/admin/builder/spi-builder-workspace/Sources/PushExpressLib/PushExpressLib.swift:60:30: warning: capture of 'self' with non-sendable type 'PushExpressManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
6 | import UserNotifications
7 |
8 | public final class PushExpressManager: NSObject {
| `- note: class 'PushExpressManager' does not conform to the 'Sendable' protocol
9 | public static let shared = PushExpressManager()
10 | private var appId: String?
:
58 |
59 | let task = URLSession.shared.dataTask(with: request) { [weak self] data, response, error in
60 | guard let self = self else { return }
| `- warning: capture of 'self' with non-sendable type 'PushExpressManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
61 |
62 | if error != nil {
/Users/admin/builder/spi-builder-workspace/Sources/PushExpressLib/PushExpressLib.swift:63:60: warning: capture of 'transportType' with non-sendable type 'TransportType' in a `@Sendable` closure; this is an error in the Swift 6 language mode
61 |
62 | if error != nil {
63 | self.retryCreateAppInstance(transportType: transportType,
| `- warning: capture of 'transportType' with non-sendable type 'TransportType' in a `@Sendable` closure; this is an error in the Swift 6 language mode
64 | extId: extId)
65 | return
/Users/admin/builder/spi-builder-workspace/Sources/PushExpressLib/Common/Enums.swift:10:13: note: consider making enum 'TransportType' conform to the 'Sendable' protocol
8 | import Foundation
9 |
10 | public enum TransportType: String {
| `- note: consider making enum 'TransportType' conform to the 'Sendable' protocol
11 | case fcm
12 | case onesignal
/Users/admin/builder/spi-builder-workspace/Sources/PushExpressLib/PushExpressLib.swift:95:13: warning: capture of 'self' with non-sendable type 'PushExpressManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
6 | import UserNotifications
7 |
8 | public final class PushExpressManager: NSObject {
| `- note: class 'PushExpressManager' does not conform to the 'Sendable' protocol
9 | public static let shared = PushExpressManager()
10 | private var appId: String?
:
93 |
94 | DispatchQueue.global().asyncAfter(deadline: .now() + delay) { [weak self] in
95 | self?.createAppInstance(transportType: transportType,
| `- warning: capture of 'self' with non-sendable type 'PushExpressManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
96 | extId: extId)
97 | delay = min(delay * 2, maxDelay)
/Users/admin/builder/spi-builder-workspace/Sources/PushExpressLib/PushExpressLib.swift:95:52: warning: capture of 'transportType' with non-sendable type 'TransportType' in a `@Sendable` closure; this is an error in the Swift 6 language mode
93 |
94 | DispatchQueue.global().asyncAfter(deadline: .now() + delay) { [weak self] in
95 | self?.createAppInstance(transportType: transportType,
| `- warning: capture of 'transportType' with non-sendable type 'TransportType' in a `@Sendable` closure; this is an error in the Swift 6 language mode
96 | extId: extId)
97 | delay = min(delay * 2, maxDelay)
/Users/admin/builder/spi-builder-workspace/Sources/PushExpressLib/Common/Enums.swift:10:13: note: consider making enum 'TransportType' conform to the 'Sendable' protocol
8 | import Foundation
9 |
10 | public enum TransportType: String {
| `- note: consider making enum 'TransportType' conform to the 'Sendable' protocol
11 | case fcm
12 | case onesignal
/Users/admin/builder/spi-builder-workspace/Sources/PushExpressLib/PushExpressLib.swift:97:13: warning: mutation of captured var 'delay' in concurrently-executing code; this is an error in the Swift 6 language mode
95 | self?.createAppInstance(transportType: transportType,
96 | extId: extId)
97 | delay = min(delay * 2, maxDelay)
| `- warning: mutation of captured var 'delay' in concurrently-executing code; this is an error in the Swift 6 language mode
98 | }
99 | }
/Users/admin/builder/spi-builder-workspace/Sources/PushExpressLib/PushExpressLib.swift:97:25: warning: reference to captured var 'delay' in concurrently-executing code; this is an error in the Swift 6 language mode
95 | self?.createAppInstance(transportType: transportType,
96 | extId: extId)
97 | delay = min(delay * 2, maxDelay)
| `- warning: reference to captured var 'delay' in concurrently-executing code; this is an error in the Swift 6 language mode
98 | }
99 | }
/Users/admin/builder/spi-builder-workspace/Sources/PushExpressLib/PushExpressLib.swift:109:41: error: 'language' is only available in macOS 13 or newer
6 | import UserNotifications
7 |
8 | public final class PushExpressManager: NSObject {
| `- note: add @available attribute to enclosing class
9 | public static let shared = PushExpressManager()
10 | private var appId: String?
:
105 | }
106 |
107 | private func getSettedLanguage() -> String {
| `- note: add @available attribute to enclosing instance method
108 | if #available(iOS 16, *) {
109 | let locale = Locale.current.language.languageCode
| |- error: 'language' is only available in macOS 13 or newer
| `- note: add 'if #available' version check
110 | return "\(locale ?? "")"
111 | }
/Users/admin/builder/spi-builder-workspace/Sources/PushExpressLib/PushExpressLib.swift:109:50: error: 'languageCode' is only available in macOS 13 or newer
6 | import UserNotifications
7 |
8 | public final class PushExpressManager: NSObject {
| `- note: add @available attribute to enclosing class
9 | public static let shared = PushExpressManager()
10 | private var appId: String?
:
105 | }
106 |
107 | private func getSettedLanguage() -> String {
| `- note: add @available attribute to enclosing instance method
108 | if #available(iOS 16, *) {
109 | let locale = Locale.current.language.languageCode
| |- error: 'languageCode' is only available in macOS 13 or newer
| `- note: add 'if #available' version check
110 | return "\(locale ?? "")"
111 | }
/Users/admin/builder/spi-builder-workspace/Sources/PushExpressLib/PushExpressLib.swift:110:33: error: 'LanguageCode' is only available in macOS 13 or newer
6 | import UserNotifications
7 |
8 | public final class PushExpressManager: NSObject {
| `- note: add @available attribute to enclosing class
9 | public static let shared = PushExpressManager()
10 | private var appId: String?
:
105 | }
106 |
107 | private func getSettedLanguage() -> String {
| `- note: add @available attribute to enclosing instance method
108 | if #available(iOS 16, *) {
109 | let locale = Locale.current.language.languageCode
110 | return "\(locale ?? "")"
| |- error: 'LanguageCode' is only available in macOS 13 or newer
| `- note: add 'if #available' version check
111 | }
112 | else {
/Users/admin/builder/spi-builder-workspace/Sources/PushExpressLib/PushExpressLib.swift:144:30: warning: capture of 'self' with non-sendable type 'PushExpressManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
6 | import UserNotifications
7 |
8 | public final class PushExpressManager: NSObject {
| `- note: class 'PushExpressManager' does not conform to the 'Sendable' protocol
9 | public static let shared = PushExpressManager()
10 | private var appId: String?
:
142 |
143 | let task = URLSession.shared.dataTask(with: request) { [weak self] data, response, error in
144 | guard let self = self else { return }
| `- warning: capture of 'self' with non-sendable type 'PushExpressManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
145 |
146 | if error != nil {
/Users/admin/builder/spi-builder-workspace/Sources/PushExpressLib/PushExpressLib.swift:147:60: warning: capture of 'transportType' with non-sendable type 'TransportType' in a `@Sendable` closure; this is an error in the Swift 6 language mode
145 |
146 | if error != nil {
147 | self.retryUpdateAppInstance(transportType: transportType,
| `- warning: capture of 'transportType' with non-sendable type 'TransportType' in a `@Sendable` closure; this is an error in the Swift 6 language mode
148 | extId: extId)
149 | return
/Users/admin/builder/spi-builder-workspace/Sources/PushExpressLib/Common/Enums.swift:10:13: note: consider making enum 'TransportType' conform to the 'Sendable' protocol
8 | import Foundation
9 |
10 | public enum TransportType: String {
| `- note: consider making enum 'TransportType' conform to the 'Sendable' protocol
11 | case fcm
12 | case onesignal
/Users/admin/builder/spi-builder-workspace/Sources/PushExpressLib/PushExpressLib.swift:174:13: warning: capture of 'self' with non-sendable type 'PushExpressManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
6 | import UserNotifications
7 |
8 | public final class PushExpressManager: NSObject {
| `- note: class 'PushExpressManager' does not conform to the 'Sendable' protocol
9 | public static let shared = PushExpressManager()
10 | private var appId: String?
:
172 |
173 | DispatchQueue.global().asyncAfter(deadline: .now() + delay) { [weak self] in
174 | self?.updateAppInstance(transportType: transportType,
| `- warning: capture of 'self' with non-sendable type 'PushExpressManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
175 | extId: extId)
176 | delay = min(delay * 2, maxDelay)
/Users/admin/builder/spi-builder-workspace/Sources/PushExpressLib/PushExpressLib.swift:174:52: warning: capture of 'transportType' with non-sendable type 'TransportType' in a `@Sendable` closure; this is an error in the Swift 6 language mode
172 |
173 | DispatchQueue.global().asyncAfter(deadline: .now() + delay) { [weak self] in
174 | self?.updateAppInstance(transportType: transportType,
| `- warning: capture of 'transportType' with non-sendable type 'TransportType' in a `@Sendable` closure; this is an error in the Swift 6 language mode
175 | extId: extId)
176 | delay = min(delay * 2, maxDelay)
/Users/admin/builder/spi-builder-workspace/Sources/PushExpressLib/Common/Enums.swift:10:13: note: consider making enum 'TransportType' conform to the 'Sendable' protocol
8 | import Foundation
9 |
10 | public enum TransportType: String {
| `- note: consider making enum 'TransportType' conform to the 'Sendable' protocol
11 | case fcm
12 | case onesignal
/Users/admin/builder/spi-builder-workspace/Sources/PushExpressLib/PushExpressLib.swift:176:13: warning: mutation of captured var 'delay' in concurrently-executing code; this is an error in the Swift 6 language mode
174 | self?.updateAppInstance(transportType: transportType,
175 | extId: extId)
176 | delay = min(delay * 2, maxDelay)
| `- warning: mutation of captured var 'delay' in concurrently-executing code; this is an error in the Swift 6 language mode
177 | }
178 | }
/Users/admin/builder/spi-builder-workspace/Sources/PushExpressLib/PushExpressLib.swift:176:25: warning: reference to captured var 'delay' in concurrently-executing code; this is an error in the Swift 6 language mode
174 | self?.updateAppInstance(transportType: transportType,
175 | extId: extId)
176 | delay = min(delay * 2, maxDelay)
| `- warning: reference to captured var 'delay' in concurrently-executing code; this is an error in the Swift 6 language mode
177 | }
178 | }
/Users/admin/builder/spi-builder-workspace/Sources/PushExpressLib/PushExpressLib.swift:183:13: warning: capture of 'self' with non-sendable type 'PushExpressManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
6 | import UserNotifications
7 |
8 | public final class PushExpressManager: NSObject {
| `- note: class 'PushExpressManager' does not conform to the 'Sendable' protocol
9 | public static let shared = PushExpressManager()
10 | private var appId: String?
:
181 | extId: String?) {
182 | DispatchQueue.global().asyncAfter(deadline: .now() + updateInterval) { [weak self] in
183 | self?.updateAppInstance(transportType: transportType,
| `- warning: capture of 'self' with non-sendable type 'PushExpressManager?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
184 | extId: extId)
185 | self?.schedulePeriodicUpdate(transportType: transportType,
/Users/admin/builder/spi-builder-workspace/Sources/PushExpressLib/PushExpressLib.swift:183:52: warning: capture of 'transportType' with non-sendable type 'TransportType' in a `@Sendable` closure; this is an error in the Swift 6 language mode
181 | extId: String?) {
182 | DispatchQueue.global().asyncAfter(deadline: .now() + updateInterval) { [weak self] in
183 | self?.updateAppInstance(transportType: transportType,
| `- warning: capture of 'transportType' with non-sendable type 'TransportType' in a `@Sendable` closure; this is an error in the Swift 6 language mode
184 | extId: extId)
185 | self?.schedulePeriodicUpdate(transportType: transportType,
/Users/admin/builder/spi-builder-workspace/Sources/PushExpressLib/Common/Enums.swift:10:13: note: consider making enum 'TransportType' conform to the 'Sendable' protocol
8 | import Foundation
9 |
10 | public enum TransportType: String {
| `- note: consider making enum 'TransportType' conform to the 'Sendable' protocol
11 | case fcm
12 | case onesignal
[8/8] Compiling PushExpressLib NotificationManager.swift
/Users/admin/builder/spi-builder-workspace/Sources/PushExpressLib/NotificationManager.swift:15:45: error: 'UNNotificationRequest' is only available in macOS 10.14 or newer
9 | import UserNotifications
10 |
11 | public class NotificationManager {
| `- note: add @available attribute to enclosing class
12 |
13 | public init() {}
14 |
15 | public func handleNotification(request: UNNotificationRequest, contentHandler: @escaping (UNNotificationContent) -> Void) {
| | `- error: 'UNNotificationRequest' is only available in macOS 10.14 or newer
| `- note: add @available attribute to enclosing instance method
16 | guard let content = (request.content.mutableCopy() as? UNMutableNotificationContent) else {
17 | return contentHandler(request.content)
/Users/admin/builder/spi-builder-workspace/Sources/PushExpressLib/NotificationManager.swift:15:95: error: 'UNNotificationContent' is only available in macOS 10.14 or newer
9 | import UserNotifications
10 |
11 | public class NotificationManager {
| `- note: add @available attribute to enclosing class
12 |
13 | public init() {}
14 |
15 | public func handleNotification(request: UNNotificationRequest, contentHandler: @escaping (UNNotificationContent) -> Void) {
| | `- error: 'UNNotificationContent' is only available in macOS 10.14 or newer
| `- note: add @available attribute to enclosing instance method
16 | guard let content = (request.content.mutableCopy() as? UNMutableNotificationContent) else {
17 | return contentHandler(request.content)
/Users/admin/builder/spi-builder-workspace/Sources/PushExpressLib/NotificationManager.swift:47:70: error: 'UNNotificationAttachment' is only available in macOS 10.14 or newer
9 | import UserNotifications
10 |
11 | public class NotificationManager {
| `- note: add @available attribute to enclosing class
12 |
13 | public init() {}
:
45 | }
46 |
47 | public func downloadImage(atURL url: URL, completion: @escaping (UNNotificationAttachment?, Error?) -> Void) {
| | `- error: 'UNNotificationAttachment' is only available in macOS 10.14 or newer
| `- note: add @available attribute to enclosing instance method
48 | let task = URLSession.shared.downloadTask(with: url) { location, response, error in
49 | guard let location = location, error == nil else {
/Users/admin/builder/spi-builder-workspace/Sources/PushExpressLib/NotificationManager.swift:16:64: error: 'UNMutableNotificationContent' is only available in macOS 10.14 or newer
9 | import UserNotifications
10 |
11 | public class NotificationManager {
| `- note: add @available attribute to enclosing class
12 |
13 | public init() {}
14 |
15 | public func handleNotification(request: UNNotificationRequest, contentHandler: @escaping (UNNotificationContent) -> Void) {
| `- note: add @available attribute to enclosing instance method
16 | guard let content = (request.content.mutableCopy() as? UNMutableNotificationContent) else {
| |- error: 'UNMutableNotificationContent' is only available in macOS 10.14 or newer
| `- note: add 'if #available' version check
17 | return contentHandler(request.content)
18 | }
/Users/admin/builder/spi-builder-workspace/Sources/PushExpressLib/NotificationManager.swift:40:51: error: 'UNNotificationContent' is only available in macOS 10.14 or newer
9 | import UserNotifications
10 |
11 | public class NotificationManager {
| `- note: add @available attribute to enclosing class
12 |
13 | public init() {}
14 |
15 | public func handleNotification(request: UNNotificationRequest, contentHandler: @escaping (UNNotificationContent) -> Void) {
| `- note: add @available attribute to enclosing instance method
16 | guard let content = (request.content.mutableCopy() as? UNMutableNotificationContent) else {
17 | return contentHandler(request.content)
:
38 | content.attachments = [attachment]
39 | }
40 | contentHandler(content.copy() as! UNNotificationContent)
| |- error: 'UNNotificationContent' is only available in macOS 10.14 or newer
| `- note: add 'if #available' version check
41 | }
42 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/PushExpressLib/NotificationManager.swift:43:47: error: 'UNNotificationContent' is only available in macOS 10.14 or newer
9 | import UserNotifications
10 |
11 | public class NotificationManager {
| `- note: add @available attribute to enclosing class
12 |
13 | public init() {}
14 |
15 | public func handleNotification(request: UNNotificationRequest, contentHandler: @escaping (UNNotificationContent) -> Void) {
| `- note: add @available attribute to enclosing instance method
16 | guard let content = (request.content.mutableCopy() as? UNMutableNotificationContent) else {
17 | return contentHandler(request.content)
:
41 | }
42 | } else {
43 | contentHandler(content.copy() as! UNNotificationContent)
| |- error: 'UNNotificationContent' is only available in macOS 10.14 or newer
| `- note: add 'if #available' version check
44 | }
45 | }
/Users/admin/builder/spi-builder-workspace/Sources/PushExpressLib/PushExpressLib.swift:9:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'PushExpressManager' may have shared mutable state; this is an error in the Swift 6 language mode
6 | import UserNotifications
7 |
8 | public final class PushExpressManager: NSObject {
| `- note: class 'PushExpressManager' does not conform to the 'Sendable' protocol
9 | public static let shared = PushExpressManager()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'PushExpressManager' 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
10 | private var appId: String?
11 | private var icId: String?
/Users/admin/builder/spi-builder-workspace/Sources/PushExpressLib/NotificationManager.swift:61:38: error: 'UNNotificationAttachment' is only available in macOS 10.14 or newer
9 | import UserNotifications
10 |
11 | public class NotificationManager {
| `- note: add @available attribute to enclosing class
12 |
13 | public init() {}
:
45 | }
46 |
47 | public func downloadImage(atURL url: URL, completion: @escaping (UNNotificationAttachment?, Error?) -> Void) {
| `- note: add @available attribute to enclosing instance method
48 | let task = URLSession.shared.downloadTask(with: url) { location, response, error in
49 | guard let location = location, error == nil else {
:
59 | do {
60 | try fileManager.moveItem(at: location, to: tmpFileURL)
61 | let attachment = try UNNotificationAttachment(identifier: uniqueString, url: tmpFileURL, options: nil)
| |- error: 'UNNotificationAttachment' is only available in macOS 10.14 or newer
| `- note: add 'if #available' version check
62 | completion(attachment, nil)
63 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/PushExpressLib/NotificationManager.swift:50:17: warning: capture of 'completion' with non-sendable type '(UNNotificationAttachment?, (any Error)?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
48 | let task = URLSession.shared.downloadTask(with: url) { location, response, error in
49 | guard let location = location, error == nil else {
50 | completion(nil, error)
| |- warning: capture of 'completion' with non-sendable type '(UNNotificationAttachment?, (any Error)?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
51 | return
52 | }
BUILD FAILURE 6.0 macosSpm