Build Information
Successful build of SSAppUpdater, reference 1.7.0 (000289
), with Swift 6.1 for macOS (SPM) on 1 May 2025 01:57:01 UTC.
Swift 6 data race errors: 3
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Build Log
========================================
RunAll
========================================
Builder version: 4.61.2
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/SimformSolutionsPvtLtd/SSAppUpdater.git
Reference: 1.7.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/SimformSolutionsPvtLtd/SSAppUpdater
* tag 1.7.0 -> FETCH_HEAD
HEAD is now at 000289d Merge pull request #44 from SimformSolutionsPvtLtd/develop
Cloned https://github.com/SimformSolutionsPvtLtd/SSAppUpdater.git
Revision (git rev-parse @):
000289d1412ffd68566f1249a66cc9837687f42d
SUCCESS checkout https://github.com/SimformSolutionsPvtLtd/SSAppUpdater.git at 1.7.0
========================================
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",
"dependencies": [
{
"identity": "ssappupdater",
"name": "SSAppUpdater",
"url": "https://github.com/SimformSolutionsPvtLtd/SSAppUpdater.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/SSAppUpdater",
"dependencies": [
]
}
]
}
Fetching https://github.com/SimformSolutionsPvtLtd/SSAppUpdater.git
[1/553] Fetching ssappupdater
Fetched https://github.com/SimformSolutionsPvtLtd/SSAppUpdater.git from cache (1.35s)
Creating working copy for https://github.com/SimformSolutionsPvtLtd/SSAppUpdater.git
Working copy of https://github.com/SimformSolutionsPvtLtd/SSAppUpdater.git resolved at 1.7.0 (000289d)
warning: '.resolve-product-dependencies': dependency 'ssappupdater' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.1
Building package at path: $PWD
https://github.com/SimformSolutionsPvtLtd/SSAppUpdater.git
https://github.com/SimformSolutionsPvtLtd/SSAppUpdater.git
{
"dependencies" : [
],
"manifest_display_name" : "SSAppUpdater",
"name" : "SSAppUpdater",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "13.0"
},
{
"name" : "macos",
"version" : "11.0"
}
],
"products" : [
{
"name" : "SSAppUpdater",
"targets" : [
"SSAppUpdater"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"swift_languages_versions" : [
"5"
],
"targets" : [
{
"c99name" : "SSAppUpdater",
"module_type" : "SwiftTarget",
"name" : "SSAppUpdater",
"path" : "Sources/SSAppUpdater",
"product_memberships" : [
"SSAppUpdater"
],
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/SSAppUpdater/Resource/PrivacyInfo.xcprivacy",
"rule" : {
"copy" : {
}
}
}
],
"sources" : [
"Extension/Bundle.swift",
"Extension/Date.swift",
"Extension/String.swift",
"Extension/UserDefaults.swift",
"Helper/SSAPIManager.swift",
"Helper/SSAlertManager.swift",
"Helper/SSAppUpdaterEnums.swift",
"Helper/SSEnumration.swift",
"Helper/SSNetworkManager.swift",
"Helper/SSScriptOrCommandExecutor.swift",
"Models/LookUpResponseModel.swift",
"Models/SSVersionInfo.swift",
"PerformVersionCheck/AppStoreView.swift",
"PerformVersionCheck/PerformVersionCheck + ManualAppUpdater.swift",
"PerformVersionCheck/PerformVersionCheck.swift",
"SSAppUpdater.swift"
],
"type" : "library"
}
],
"tools_version" : "5.9"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Building for debugging...
[0/3] Copying PrivacyInfo.xcprivacy
[0/3] Write sources
[2/3] Write swift-version-2F0A5646E1D333AE.txt
[4/20] Compiling SSAppUpdater SSAppUpdater.swift
/Users/admin/builder/spi-builder-workspace/Sources/SSAppUpdater/SSAppUpdater.swift:15:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'SSAppUpdater' may have shared mutable state; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | public class SSAppUpdater {
| `- note: class 'SSAppUpdater' does not conform to the 'Sendable' protocol
12 | // MARK: - Variables
13 |
14 | /// A shared instance of `SSAppUpdater` for singleton access.
15 | public static let shared = SSAppUpdater()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'SSAppUpdater' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
16 |
17 | /// An instance of `PerformVersionCheck` used for checking app versions.
[5/21] Compiling SSAppUpdater resource_bundle_accessor.swift
[6/21] Compiling SSAppUpdater LookUpResponseModel.swift
[7/21] Compiling SSAppUpdater SSVersionInfo.swift
[8/21] Compiling SSAppUpdater PerformVersionCheck.swift
/Users/admin/builder/spi-builder-workspace/Sources/SSAppUpdater/PerformVersionCheck/PerformVersionCheck.swift:285:44: warning: call to main actor-isolated instance method 'goToAppStoreApplication()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
248 | - trackId: The unique identifier of the app on the App Store or Mac App Store.
249 | */
250 | private func launchAppUpdate(trackId: Int) {
| `- note: add '@MainActor' to make instance method 'launchAppUpdate(trackId:)' part of global actor 'MainActor'
251 | if networkManager.isConnected {
252 | #if os(iOS)
:
283 | #else
284 | if SSAppUpdater.shared.redirectToAppStore {
285 | AppStoreView(trackId: trackId).goToAppStoreApplication()
| `- warning: call to main actor-isolated instance method 'goToAppStoreApplication()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
286 | } else {
287 | guard let mainWindow = NSApplication.shared.windows.first else { return }
/Users/admin/builder/spi-builder-workspace/Sources/SSAppUpdater/PerformVersionCheck/AppStoreView.swift:55:10: note: calls to instance method 'goToAppStoreApplication()' from outside of its actor context are implicitly asynchronous
53 | }
54 |
55 | func goToAppStoreApplication() {
| |- note: calls to instance method 'goToAppStoreApplication()' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from conformance to protocol 'NSViewControllerRepresentable'
56 | if let appStoreURL = URL(string: "\(AppStoreViewConstants.baseAppStroreUrl)\(trackId)") {
57 | NSWorkspace.shared.open(appStoreURL)
/Users/admin/builder/spi-builder-workspace/Sources/SSAppUpdater/PerformVersionCheck/PerformVersionCheck.swift:287:57: warning: main actor-isolated property 'windows' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
248 | - trackId: The unique identifier of the app on the App Store or Mac App Store.
249 | */
250 | private func launchAppUpdate(trackId: Int) {
| `- note: add '@MainActor' to make instance method 'launchAppUpdate(trackId:)' part of global actor 'MainActor'
251 | if networkManager.isConnected {
252 | #if os(iOS)
:
285 | AppStoreView(trackId: trackId).goToAppStoreApplication()
286 | } else {
287 | guard let mainWindow = NSApplication.shared.windows.first else { return }
| `- warning: main actor-isolated property 'windows' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
288 | if let screen = mainWindow.screen ?? NSScreen.main {
289 | mainWindow.setFrame(screen.visibleFrame, display: true)
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSApplication.h:278:49: note: property declared here
276 |
277 | - (void)preventWindowOrdering;
278 | @property (readonly, copy) NSArray<NSWindow *> *windows;
| `- note: property declared here
279 | - (void)setWindowsNeedUpdate:(BOOL)needUpdate;
280 | - (void)updateWindows;
/Users/admin/builder/spi-builder-workspace/Sources/SSAppUpdater/PerformVersionCheck/PerformVersionCheck.swift:287:50: warning: main actor-isolated class property 'shared' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
248 | - trackId: The unique identifier of the app on the App Store or Mac App Store.
249 | */
250 | private func launchAppUpdate(trackId: Int) {
| `- note: add '@MainActor' to make instance method 'launchAppUpdate(trackId:)' part of global actor 'MainActor'
251 | if networkManager.isConnected {
252 | #if os(iOS)
:
285 | AppStoreView(trackId: trackId).goToAppStoreApplication()
286 | } else {
287 | guard let mainWindow = NSApplication.shared.windows.first else { return }
| `- warning: main actor-isolated class property 'shared' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
288 | if let screen = mainWindow.screen ?? NSScreen.main {
289 | mainWindow.setFrame(screen.visibleFrame, display: true)
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSApplication.h:193:61: note: class property declared here
191 | APPKIT_EXTERN __kindof NSApplication * _Null_unspecified NSApp NS_SWIFT_UI_ACTOR;
192 |
193 | @property (class, readonly, strong) __kindof NSApplication *sharedApplication;
| `- note: class property declared here
194 | @property (nullable, weak) id<NSApplicationDelegate> delegate;
195 |
/Users/admin/builder/spi-builder-workspace/Sources/SSAppUpdater/PerformVersionCheck/PerformVersionCheck.swift:288:40: warning: main actor-isolated property 'screen' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
248 | - trackId: The unique identifier of the app on the App Store or Mac App Store.
249 | */
250 | private func launchAppUpdate(trackId: Int) {
| `- note: add '@MainActor' to make instance method 'launchAppUpdate(trackId:)' part of global actor 'MainActor'
251 | if networkManager.isConnected {
252 | #if os(iOS)
:
286 | } else {
287 | guard let mainWindow = NSApplication.shared.windows.first else { return }
288 | if let screen = mainWindow.screen ?? NSScreen.main {
| `- warning: main actor-isolated property 'screen' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
289 | mainWindow.setFrame(screen.visibleFrame, display: true)
290 | }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSWindow.h:511:50: note: property declared here
509 | /*! The screen property returns the best screen for the window. If the window only intersects one screen, it returns that screen. If it intersects more than one screen, then it resolves the tie through based on what space it is mostly on. It may return nil if there are no available screens, or it is completely off screen.
510 | */
511 | @property (nullable, readonly, strong) NSScreen *screen;
| `- note: property declared here
512 | @property (nullable, readonly, strong) NSScreen *deepestScreen;
513 |
/Users/admin/builder/spi-builder-workspace/Sources/SSAppUpdater/PerformVersionCheck/PerformVersionCheck.swift:289:28: warning: call to main actor-isolated instance method 'setFrame(_:display:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
248 | - trackId: The unique identifier of the app on the App Store or Mac App Store.
249 | */
250 | private func launchAppUpdate(trackId: Int) {
| `- note: add '@MainActor' to make instance method 'launchAppUpdate(trackId:)' part of global actor 'MainActor'
251 | if networkManager.isConnected {
252 | #if os(iOS)
:
287 | guard let mainWindow = NSApplication.shared.windows.first else { return }
288 | if let screen = mainWindow.screen ?? NSScreen.main {
289 | mainWindow.setFrame(screen.visibleFrame, display: true)
| `- warning: call to main actor-isolated instance method 'setFrame(_:display:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
290 | }
291 | let containerView = VStack(alignment: .leading) {
AppKit.NSWindow.setFrame:2:22: note: calls to instance method 'setFrame(_:display:)' from outside of its actor context are implicitly asynchronous
1 | class NSWindow {
2 | @MainActor open func setFrame(_ frameRect: NSRect, display flag: Bool)}
| |- note: calls to instance method 'setFrame(_:display:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'NSResponder'
3 |
/Users/admin/builder/spi-builder-workspace/Sources/SSAppUpdater/PerformVersionCheck/PerformVersionCheck.swift:295:43: warning: main actor-isolated property 'frame' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
293 | AppStoreView(trackId: Int(trackId))
294 | .frame(
295 | width: mainWindow.frame.size.width,
| `- warning: main actor-isolated property 'frame' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
296 | height: mainWindow.frame.size.height
297 | )
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSWindow.h:359:29: note: property declared here
357 | @property (readonly) NSRect cascadingReferenceFrame API_AVAILABLE(macos(15.0));
358 |
359 | @property (readonly) NSRect frame;
| `- note: property declared here
360 |
361 | /*! Subclasses can override \c animationResizeTime: to control the total time for the frame change.
/Users/admin/builder/spi-builder-workspace/Sources/SSAppUpdater/PerformVersionCheck/PerformVersionCheck.swift:296:44: warning: main actor-isolated property 'frame' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
294 | .frame(
295 | width: mainWindow.frame.size.width,
296 | height: mainWindow.frame.size.height
| `- warning: main actor-isolated property 'frame' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
297 | )
298 | }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSWindow.h:359:29: note: property declared here
357 | @property (readonly) NSRect cascadingReferenceFrame API_AVAILABLE(macos(15.0));
358 |
359 | @property (readonly) NSRect frame;
| `- note: property declared here
360 |
361 | /*! Subclasses can override \c animationResizeTime: to control the total time for the frame change.
/Users/admin/builder/spi-builder-workspace/Sources/SSAppUpdater/PerformVersionCheck/PerformVersionCheck.swift:299:34: warning: call to main actor-isolated initializer 'init(rootView:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
248 | - trackId: The unique identifier of the app on the App Store or Mac App Store.
249 | */
250 | private func launchAppUpdate(trackId: Int) {
| `- note: add '@MainActor' to make instance method 'launchAppUpdate(trackId:)' part of global actor 'MainActor'
251 | if networkManager.isConnected {
252 | #if os(iOS)
:
297 | )
298 | }
299 | let viewController = NSHostingController(rootView: containerView)
| `- warning: call to main actor-isolated initializer 'init(rootView:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
300 | mainWindow.contentViewController?.presentAsSheet(viewController)
301 | }
SwiftUI.NSHostingController.init:2:35: note: calls to initializer 'init(rootView:)' from outside of its actor context are implicitly asynchronous
1 | generic class NSHostingController {
2 | @MainActor @preconcurrency public init(rootView: Content)}
| `- note: calls to initializer 'init(rootView:)' from outside of its actor context are implicitly asynchronous
3 |
/Users/admin/builder/spi-builder-workspace/Sources/SSAppUpdater/PerformVersionCheck/PerformVersionCheck.swift:300:47: warning: call to main actor-isolated instance method 'presentAsSheet' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
248 | - trackId: The unique identifier of the app on the App Store or Mac App Store.
249 | */
250 | private func launchAppUpdate(trackId: Int) {
| `- note: add '@MainActor' to make instance method 'launchAppUpdate(trackId:)' part of global actor 'MainActor'
251 | if networkManager.isConnected {
252 | #if os(iOS)
:
298 | }
299 | let viewController = NSHostingController(rootView: containerView)
300 | mainWindow.contentViewController?.presentAsSheet(viewController)
| `- warning: call to main actor-isolated instance method 'presentAsSheet' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
301 | }
302 | #endif
AppKit.NSViewController.presentAsSheet:3:24: note: calls to instance method 'presentAsSheet' from outside of its actor context are implicitly asynchronous
1 | class NSViewController {
2 | @available(macOS 10.10, *)
3 | @MainActor open func presentAsSheet(_ viewController: NSViewController)}
| |- note: calls to instance method 'presentAsSheet' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'NSResponder'
4 |
/Users/admin/builder/spi-builder-workspace/Sources/SSAppUpdater/PerformVersionCheck/PerformVersionCheck.swift:300:24: warning: main actor-isolated property 'contentViewController' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
248 | - trackId: The unique identifier of the app on the App Store or Mac App Store.
249 | */
250 | private func launchAppUpdate(trackId: Int) {
| `- note: add '@MainActor' to make instance method 'launchAppUpdate(trackId:)' part of global actor 'MainActor'
251 | if networkManager.isConnected {
252 | #if os(iOS)
:
298 | }
299 | let viewController = NSHostingController(rootView: containerView)
300 | mainWindow.contentViewController?.presentAsSheet(viewController)
| `- warning: main actor-isolated property 'contentViewController' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
301 | }
302 | #endif
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSWindow.h:651:48: note: property declared here
649 | /*! The main content view controller for the window. This provides the contentView of the window. Assigning this value will remove the existing contentView and will make the contentViewController.view the main contentView for the window. The default value is nil. The contentViewController only controls the contentView, and not the title of the window. The window title can easily be bound to the contentViewController with the following: [window bind:NSTitleBinding toObject:contentViewController withKeyPath:@"title" options:nil]. Setting the contentViewController will cause the window to resize based on the current size of the contentViewController. Autolayout should be used to restrict the size of the window. The value of the contentViewController is encoded in the NIB. Directly assigning a contentView will clear out the contentViewController.
650 | */
651 | @property (nullable, strong) NSViewController *contentViewController API_AVAILABLE(macos(10.10));
| `- note: property declared here
652 |
653 | /*! Convenience method for creating an autoreleased titled window with the given contentViewController. A basic NSWindow with the following attributes is made: titled, closable, resizable, miniaturizable. The window's title is automatically bound to the contentViewController's title. The size of the window can easily be controlled by utilizing autolayout and applying size constraints to the view (or its subviews). The window has isReleasedWhenClosed set to NO, and it must be explicitly retained to keep the window instance alive. To have it automatically be freed when it is closed, do the following: [window retain] and [window setReleasedWhenClosed:YES].
/Users/admin/builder/spi-builder-workspace/Sources/SSAppUpdater/PerformVersionCheck/PerformVersionCheck.swift:338:23: warning: main actor-isolated static property 'plain' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
321 | - mainWindow: The main window instance from which the sheet modal is presented.
322 | */
323 | func updateButton(for mainWindow: NSWindow) -> some View {
| `- note: add '@MainActor' to make instance method 'updateButton(for:)' part of global actor 'MainActor'
324 | Button(action: {
325 |
:
336 | })
337 | .padding([.leading, .top], 15)
338 | .buttonStyle(.plain)
| `- warning: main actor-isolated static property 'plain' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
339 | }
340 | #endif
SwiftUI.PrimitiveButtonStyle.plain:2:46: note: static property declared here
1 | protocol PrimitiveButtonStyle {
2 | @MainActor @preconcurrency public static var plain: PlainButtonStyle { get }}
| `- note: static property declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/SSAppUpdater/PerformVersionCheck/PerformVersionCheck.swift:37:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
35 | #endif
36 | DispatchQueue.main.async {
37 | self.getVersionCheck()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
38 | }
39 | }
/Users/admin/builder/spi-builder-workspace/Sources/SSAppUpdater/PerformVersionCheck/PerformVersionCheck.swift:135:29: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
133 | if SSAppUpdater.shared.isForceUpdate {
134 | DispatchQueue.main.async {
135 | self.displayForceAlert(versionInfo: versionInfo)
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
136 | }
137 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/SSAppUpdater/PerformVersionCheck/PerformVersionCheck.swift:139:29: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
137 | } else {
138 | DispatchQueue.main.async {
139 | self.displayOptionalUpdateAlert(versionInfo: versionInfo)
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
140 | }
141 | }
/Users/admin/builder/spi-builder-workspace/Sources/SSAppUpdater/PerformVersionCheck/PerformVersionCheck.swift:299:34: warning: sending 'containerView' risks causing data races; this is an error in the Swift 6 language mode
297 | )
298 | }
299 | let viewController = NSHostingController(rootView: containerView)
| |- warning: sending 'containerView' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'containerView' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
300 | mainWindow.contentViewController?.presentAsSheet(viewController)
301 | }
/Users/admin/builder/spi-builder-workspace/Sources/SSAppUpdater/PerformVersionCheck/PerformVersionCheck.swift:330:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
328 | }
329 | if SSAppUpdater.shared.isForceUpdate {
330 | self.getVersionCheck()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
331 | }
332 | }, label: {
[9/21] Compiling SSAppUpdater SSNetworkManager.swift
/Users/admin/builder/spi-builder-workspace/Sources/SSAppUpdater/Helper/SSNetworkManager.swift:33:13: warning: capture of 'self' with non-sendable type 'SSNetworkManager?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
9 | import Network
10 |
11 | class SSNetworkManager {
| `- note: class 'SSNetworkManager' does not conform to the 'Sendable' protocol
12 | // MARK: - Variables
13 | private let monitor = NWPathMonitor()
:
31 | private func startMonitoring() {
32 | monitor.pathUpdateHandler = { [weak self] path in
33 | self?.isConnected = (path.status == .satisfied)
| `- warning: capture of 'self' with non-sendable type 'SSNetworkManager?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
34 | }
35 |
[10/21] Compiling SSAppUpdater SSScriptOrCommandExecutor.swift
/Users/admin/builder/spi-builder-workspace/Sources/SSAppUpdater/Helper/SSNetworkManager.swift:33:13: warning: capture of 'self' with non-sendable type 'SSNetworkManager?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
9 | import Network
10 |
11 | class SSNetworkManager {
| `- note: class 'SSNetworkManager' does not conform to the 'Sendable' protocol
12 | // MARK: - Variables
13 | private let monitor = NWPathMonitor()
:
31 | private func startMonitoring() {
32 | monitor.pathUpdateHandler = { [weak self] path in
33 | self?.isConnected = (path.status == .satisfied)
| `- warning: capture of 'self' with non-sendable type 'SSNetworkManager?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
34 | }
35 |
[11/21] Compiling SSAppUpdater SSAPIManager.swift
/Users/admin/builder/spi-builder-workspace/Sources/SSAppUpdater/Helper/SSAPIManager.swift:27:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'SSAPIManager' may have shared mutable state; this is an error in the Swift 6 language mode
14 | }
15 |
16 | internal class SSAPIManager {
| `- note: class 'SSAPIManager' does not conform to the 'Sendable' protocol
17 |
18 | /// Constants used for the iTunes Lookup API request.
:
25 |
26 | // MARK: - Variable Declaration
27 | static let shared = SSAPIManager()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'SSAPIManager' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
28 |
29 | // MARK: - Initializers
/Users/admin/builder/spi-builder-workspace/Sources/SSAppUpdater/Helper/SSAPIManager.swift:46:17: warning: capture of 'completion' with non-sendable type '(LookUpResponseModel?, (any Error)?) -> Void' in a '@Sendable' closure
44 | guard let data = data else { throw SSVersionError.invalidResponse }
45 | let responseModel = try JSONDecoder().decode(LookUpResponseModel.self, from: data)
46 | completion(responseModel, nil)
| |- warning: capture of 'completion' with non-sendable type '(LookUpResponseModel?, (any Error)?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
47 | } catch {
48 | completion(nil, error)
/Users/admin/builder/spi-builder-workspace/Sources/SSAppUpdater/Helper/SSAPIManager.swift:76:17: warning: capture of 'completion' with non-sendable type '(Result<String, CustomError>) -> Void' in a '@Sendable' closure
74 | let task = URLSession.shared.dataTask(with: url) { (data, response, error) in
75 | if let error {
76 | completion(.failure(.other(error)))
| |- warning: capture of 'completion' with non-sendable type '(Result<String, CustomError>) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
77 | return
78 | }
/Users/admin/builder/spi-builder-workspace/Sources/SSAppUpdater/Helper/SSAlertManager.swift:12:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'SSAlertManager' may have shared mutable state; this is an error in the Swift 6 language mode
8 | import StoreKit
9 |
10 | internal class SSAlertManager {
| `- note: class 'SSAlertManager' does not conform to the 'Sendable' protocol
11 | // MARK: - Variables
12 | static let shared = SSAlertManager()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'SSAlertManager' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 | }
14 |
/Users/admin/builder/spi-builder-workspace/Sources/SSAppUpdater/Helper/SSAlertManager.swift:101:25: warning: call to main actor-isolated initializer 'init()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
41 | - **macOS**: Uses `NSAlert` to present the alert. The `alertIcon` is displayed (if valid) and buttons are created for each action.
42 | */
43 | func showAlert(
| `- note: add '@MainActor' to make instance method 'showAlert(alertIcon:title:subTitle:primaryButtonTitle:primaryButtonAction:secondaryButtonTitle:secondaryButtonAction:cancelButtonTitle:cancelButtonAction:)' part of global actor 'MainActor'
44 | alertIcon: String,
45 | title: String,
:
99 | rootViewController.present(alert, animated: true, completion: nil)
100 | #else
101 | let alert = NSAlert()
| `- warning: call to main actor-isolated initializer 'init()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
102 | alert.messageText = title
103 | alert.informativeText = subTitle
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/usr/include/objc/NSObject.h:66:1: note: calls to initializer 'init()' from outside of its actor context are implicitly asynchronous
64 |
65 | + (void)initialize;
66 | - (instancetype)init
| `- note: calls to initializer 'init()' from outside of its actor context are implicitly asynchronous
67 | #if NS_ENFORCE_NSOBJECT_DESIGNATED_INITIALIZER
68 | NS_DESIGNATED_INITIALIZER
/Users/admin/builder/spi-builder-workspace/Sources/SSAppUpdater/Helper/SSAlertManager.swift:102:19: warning: main actor-isolated property 'messageText' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
41 | - **macOS**: Uses `NSAlert` to present the alert. The `alertIcon` is displayed (if valid) and buttons are created for each action.
42 | */
43 | func showAlert(
| `- note: add '@MainActor' to make instance method 'showAlert(alertIcon:title:subTitle:primaryButtonTitle:primaryButtonAction:secondaryButtonTitle:secondaryButtonAction:cancelButtonTitle:cancelButtonAction:)' part of global actor 'MainActor'
44 | alertIcon: String,
45 | title: String,
:
100 | #else
101 | let alert = NSAlert()
102 | alert.messageText = title
| `- warning: main actor-isolated property 'messageText' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
103 | alert.informativeText = subTitle
104 | alert.alertStyle = .informational
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSAlert.h:71:28: note: mutation of this property is only permitted within the actor
69 | /// The text that is displayed prominently in the alert.
70 | /// - Note: Use this string to get the user’s attention and communicate the reason for displaying the alert.
71 | @property (copy) NSString *messageText;
| `- note: mutation of this property is only permitted within the actor
72 |
73 | /// The descriptive text that provides more details about the reason for the alert.
/Users/admin/builder/spi-builder-workspace/Sources/SSAppUpdater/Helper/SSAlertManager.swift:103:19: warning: main actor-isolated property 'informativeText' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
41 | - **macOS**: Uses `NSAlert` to present the alert. The `alertIcon` is displayed (if valid) and buttons are created for each action.
42 | */
43 | func showAlert(
| `- note: add '@MainActor' to make instance method 'showAlert(alertIcon:title:subTitle:primaryButtonTitle:primaryButtonAction:secondaryButtonTitle:secondaryButtonAction:cancelButtonTitle:cancelButtonAction:)' part of global actor 'MainActor'
44 | alertIcon: String,
45 | title: String,
:
101 | let alert = NSAlert()
102 | alert.messageText = title
103 | alert.informativeText = subTitle
| `- warning: main actor-isolated property 'informativeText' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
104 | alert.alertStyle = .informational
105 | alert.addButton(withTitle: primaryButtonTitle)
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSAlert.h:75:28: note: mutation of this property is only permitted within the actor
73 | /// The descriptive text that provides more details about the reason for the alert.
74 | /// - Note: The informative text string is displayed below the message text and is less prominent. Use this string to provide additional context about the reason for the alert or about the actions that the user might take.
75 | @property (copy) NSString *informativeText;
| `- note: mutation of this property is only permitted within the actor
76 |
77 | // MARK: - Accessing a Custom Alert Icon
/Users/admin/builder/spi-builder-workspace/Sources/SSAppUpdater/Helper/SSAlertManager.swift:104:19: warning: main actor-isolated property 'alertStyle' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
41 | - **macOS**: Uses `NSAlert` to present the alert. The `alertIcon` is displayed (if valid) and buttons are created for each action.
42 | */
43 | func showAlert(
| `- note: add '@MainActor' to make instance method 'showAlert(alertIcon:title:subTitle:primaryButtonTitle:primaryButtonAction:secondaryButtonTitle:secondaryButtonAction:cancelButtonTitle:cancelButtonAction:)' part of global actor 'MainActor'
44 | alertIcon: String,
45 | title: String,
:
102 | alert.messageText = title
103 | alert.informativeText = subTitle
104 | alert.alertStyle = .informational
| `- warning: main actor-isolated property 'alertStyle' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
105 | alert.addButton(withTitle: primaryButtonTitle)
106 | if let iconImage = NSImage(systemSymbolName: alertIcon, accessibilityDescription: nil) {
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSAlert.h:105:24: note: mutation of this property is only permitted within the actor
103 |
104 | /// Indicates the alert’s severity level. See the `NSAlertStyle` enumeration for the list of alert style constants.
105 | @property NSAlertStyle alertStyle;
| `- note: mutation of this property is only permitted within the actor
106 |
107 | /// Specifies whether the alert has a help button.
/Users/admin/builder/spi-builder-workspace/Sources/SSAppUpdater/Helper/SSAlertManager.swift:105:19: warning: call to main actor-isolated instance method 'addButton(withTitle:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
41 | - **macOS**: Uses `NSAlert` to present the alert. The `alertIcon` is displayed (if valid) and buttons are created for each action.
42 | */
43 | func showAlert(
| `- note: add '@MainActor' to make instance method 'showAlert(alertIcon:title:subTitle:primaryButtonTitle:primaryButtonAction:secondaryButtonTitle:secondaryButtonAction:cancelButtonTitle:cancelButtonAction:)' part of global actor 'MainActor'
44 | alertIcon: String,
45 | title: String,
:
103 | alert.informativeText = subTitle
104 | alert.alertStyle = .informational
105 | alert.addButton(withTitle: primaryButtonTitle)
| `- warning: call to main actor-isolated instance method 'addButton(withTitle:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
106 | if let iconImage = NSImage(systemSymbolName: alertIcon, accessibilityDescription: nil) {
107 | alert.icon = iconImage
AppKit.NSAlert.addButton:2:22: note: calls to instance method 'addButton(withTitle:)' from outside of its actor context are implicitly asynchronous
1 | class NSAlert {
2 | @MainActor open func addButton(withTitle title: String) -> NSButton}
| `- note: calls to instance method 'addButton(withTitle:)' from outside of its actor context are implicitly asynchronous
3 |
/Users/admin/builder/spi-builder-workspace/Sources/SSAppUpdater/Helper/SSAlertManager.swift:107:23: warning: main actor-isolated property 'icon' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
41 | - **macOS**: Uses `NSAlert` to present the alert. The `alertIcon` is displayed (if valid) and buttons are created for each action.
42 | */
43 | func showAlert(
| `- note: add '@MainActor' to make instance method 'showAlert(alertIcon:title:subTitle:primaryButtonTitle:primaryButtonAction:secondaryButtonTitle:secondaryButtonAction:cancelButtonTitle:cancelButtonAction:)' part of global actor 'MainActor'
44 | alertIcon: String,
45 | title: String,
:
105 | alert.addButton(withTitle: primaryButtonTitle)
106 | if let iconImage = NSImage(systemSymbolName: alertIcon, accessibilityDescription: nil) {
107 | alert.icon = iconImage
| `- warning: main actor-isolated property 'icon' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
108 | }
109 | if let secondaryButtonTitle {
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSAlert.h:82:46: note: mutation of this property is only permitted within the actor
80 | /// By default, the image used in an alert is the app icon (`NSApplicationIcon`). If this property’s value is set, the specified custom image is used in place of the app icon.
81 | /// If a custom alert icon had been set, it can be cleared by setting this property’s value to `nil`, which restores use of the app icon for the alert.
82 | @property (null_resettable, strong) NSImage *icon;
| `- note: mutation of this property is only permitted within the actor
83 |
84 | // MARK: - Accessing Alert Response Buttons
/Users/admin/builder/spi-builder-workspace/Sources/SSAppUpdater/Helper/SSAlertManager.swift:110:23: warning: call to main actor-isolated instance method 'addButton(withTitle:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
41 | - **macOS**: Uses `NSAlert` to present the alert. The `alertIcon` is displayed (if valid) and buttons are created for each action.
42 | */
43 | func showAlert(
| `- note: add '@MainActor' to make instance method 'showAlert(alertIcon:title:subTitle:primaryButtonTitle:primaryButtonAction:secondaryButtonTitle:secondaryButtonAction:cancelButtonTitle:cancelButtonAction:)' part of global actor 'MainActor'
44 | alertIcon: String,
45 | title: String,
:
108 | }
109 | if let secondaryButtonTitle {
110 | alert.addButton(withTitle: secondaryButtonTitle)
| `- warning: call to main actor-isolated instance method 'addButton(withTitle:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
111 | }
112 |
AppKit.NSAlert.addButton:2:22: note: calls to instance method 'addButton(withTitle:)' from outside of its actor context are implicitly asynchronous
1 | class NSAlert {
2 | @MainActor open func addButton(withTitle title: String) -> NSButton}
| `- note: calls to instance method 'addButton(withTitle:)' from outside of its actor context are implicitly asynchronous
3 |
/Users/admin/builder/spi-builder-workspace/Sources/SSAppUpdater/Helper/SSAlertManager.swift:114:23: warning: call to main actor-isolated instance method 'addButton(withTitle:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
41 | - **macOS**: Uses `NSAlert` to present the alert. The `alertIcon` is displayed (if valid) and buttons are created for each action.
42 | */
43 | func showAlert(
| `- note: add '@MainActor' to make instance method 'showAlert(alertIcon:title:subTitle:primaryButtonTitle:primaryButtonAction:secondaryButtonTitle:secondaryButtonAction:cancelButtonTitle:cancelButtonAction:)' part of global actor 'MainActor'
44 | alertIcon: String,
45 | title: String,
:
112 |
113 | if let cancelButtonTitle {
114 | alert.addButton(withTitle: cancelButtonTitle)
| `- warning: call to main actor-isolated instance method 'addButton(withTitle:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
115 | }
116 |
AppKit.NSAlert.addButton:2:22: note: calls to instance method 'addButton(withTitle:)' from outside of its actor context are implicitly asynchronous
1 | class NSAlert {
2 | @MainActor open func addButton(withTitle title: String) -> NSButton}
| `- note: calls to instance method 'addButton(withTitle:)' from outside of its actor context are implicitly asynchronous
3 |
/Users/admin/builder/spi-builder-workspace/Sources/SSAppUpdater/Helper/SSAlertManager.swift:117:57: warning: main actor-isolated property 'keyWindow' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
41 | - **macOS**: Uses `NSAlert` to present the alert. The `alertIcon` is displayed (if valid) and buttons are created for each action.
42 | */
43 | func showAlert(
| `- note: add '@MainActor' to make instance method 'showAlert(alertIcon:title:subTitle:primaryButtonTitle:primaryButtonAction:secondaryButtonTitle:secondaryButtonAction:cancelButtonTitle:cancelButtonAction:)' part of global actor 'MainActor'
44 | alertIcon: String,
45 | title: String,
:
115 | }
116 |
117 | guard let mainWindow = NSApplication.shared.keyWindow else {
| `- warning: main actor-isolated property 'keyWindow' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
118 | return
119 | }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSApplication.h:202:48: note: property declared here
200 |
201 | @property (nullable, readonly, weak) NSWindow *mainWindow;
202 | @property (nullable, readonly, weak) NSWindow *keyWindow;
| `- note: property declared here
203 | @property (getter=isActive, readonly) BOOL active;
204 | @property (getter=isHidden, readonly) BOOL hidden;
/Users/admin/builder/spi-builder-workspace/Sources/SSAppUpdater/Helper/SSAlertManager.swift:117:50: warning: main actor-isolated class property 'shared' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
41 | - **macOS**: Uses `NSAlert` to present the alert. The `alertIcon` is displayed (if valid) and buttons are created for each action.
42 | */
43 | func showAlert(
| `- note: add '@MainActor' to make instance method 'showAlert(alertIcon:title:subTitle:primaryButtonTitle:primaryButtonAction:secondaryButtonTitle:secondaryButtonAction:cancelButtonTitle:cancelButtonAction:)' part of global actor 'MainActor'
44 | alertIcon: String,
45 | title: String,
:
115 | }
116 |
117 | guard let mainWindow = NSApplication.shared.keyWindow else {
| `- warning: main actor-isolated class property 'shared' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
118 | return
119 | }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSApplication.h:193:61: note: class property declared here
191 | APPKIT_EXTERN __kindof NSApplication * _Null_unspecified NSApp NS_SWIFT_UI_ACTOR;
192 |
193 | @property (class, readonly, strong) __kindof NSApplication *sharedApplication;
| `- note: class property declared here
194 | @property (nullable, weak) id<NSApplicationDelegate> delegate;
195 |
/Users/admin/builder/spi-builder-workspace/Sources/SSAppUpdater/Helper/SSAlertManager.swift:120:19: warning: call to main actor-isolated instance method 'beginSheetModal(for:completionHandler:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
41 | - **macOS**: Uses `NSAlert` to present the alert. The `alertIcon` is displayed (if valid) and buttons are created for each action.
42 | */
43 | func showAlert(
| `- note: add '@MainActor' to make instance method 'showAlert(alertIcon:title:subTitle:primaryButtonTitle:primaryButtonAction:secondaryButtonTitle:secondaryButtonAction:cancelButtonTitle:cancelButtonAction:)' part of global actor 'MainActor'
44 | alertIcon: String,
45 | title: String,
:
118 | return
119 | }
120 | alert.beginSheetModal(for: mainWindow) { (response) in
| `- warning: call to main actor-isolated instance method 'beginSheetModal(for:completionHandler:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
121 | if response == .alertFirstButtonReturn, let primaryButtonAction {
122 | primaryButtonAction()
AppKit.NSAlert.beginSheetModal:3:24: note: calls to instance method 'beginSheetModal(for:completionHandler:)' from outside of its actor context are implicitly asynchronous
1 | class NSAlert {
2 | @available(macOS 10.9, *)
3 | @MainActor open func beginSheetModal(for sheetWindow: NSWindow, completionHandler handler: ((NSApplication.ModalResponse) -> Void)? = nil)}
| `- note: calls to instance method 'beginSheetModal(for:completionHandler:)' from outside of its actor context are implicitly asynchronous
4 |
/Users/admin/builder/spi-builder-workspace/Sources/SSAppUpdater/Helper/SSAlertManager.swift:128:30: warning: call to main actor-isolated instance method 'close()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
126 | cancelButtonAction()
127 | }
128 | alert.window.close()
| `- warning: call to main actor-isolated instance method 'close()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
129 | }
130 | #endif
AppKit.NSWindow.close:2:22: note: calls to instance method 'close()' from outside of its actor context are implicitly asynchronous
1 | class NSWindow {
2 | @MainActor open func close()}
| |- note: calls to instance method 'close()' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'NSResponder'
3 |
/Users/admin/builder/spi-builder-workspace/Sources/SSAppUpdater/Helper/SSAlertManager.swift:128:23: warning: main actor-isolated property 'window' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
126 | cancelButtonAction()
127 | }
128 | alert.window.close()
| `- warning: main actor-isolated property 'window' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
129 | }
130 | #endif
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSAlert.h:162:40: note: property declared here
160 |
161 | /// The app-modal panel or document-modal sheet that corresponds to the alert
162 | @property (readonly, strong) NSWindow *window;
| `- note: property declared here
163 |
164 | @end
/Users/admin/builder/spi-builder-workspace/Sources/SSAppUpdater/Helper/SSAlertManager.swift:120:19: warning: sending value of non-Sendable type '(NSApplication.ModalResponse) -> Void' risks causing data races; this is an error in the Swift 6 language mode
118 | return
119 | }
120 | alert.beginSheetModal(for: mainWindow) { (response) in
| |- warning: sending value of non-Sendable type '(NSApplication.ModalResponse) -> Void' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated value of non-Sendable type '(NSApplication.ModalResponse) -> Void' to main actor-isolated instance method 'beginSheetModal(for:completionHandler:)' risks causing races in between task-isolated and main actor-isolated uses
121 | if response == .alertFirstButtonReturn, let primaryButtonAction {
122 | primaryButtonAction()
[12/21] Compiling SSAppUpdater SSAlertManager.swift
/Users/admin/builder/spi-builder-workspace/Sources/SSAppUpdater/Helper/SSAPIManager.swift:27:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'SSAPIManager' may have shared mutable state; this is an error in the Swift 6 language mode
14 | }
15 |
16 | internal class SSAPIManager {
| `- note: class 'SSAPIManager' does not conform to the 'Sendable' protocol
17 |
18 | /// Constants used for the iTunes Lookup API request.
:
25 |
26 | // MARK: - Variable Declaration
27 | static let shared = SSAPIManager()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'SSAPIManager' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
28 |
29 | // MARK: - Initializers
/Users/admin/builder/spi-builder-workspace/Sources/SSAppUpdater/Helper/SSAPIManager.swift:46:17: warning: capture of 'completion' with non-sendable type '(LookUpResponseModel?, (any Error)?) -> Void' in a '@Sendable' closure
44 | guard let data = data else { throw SSVersionError.invalidResponse }
45 | let responseModel = try JSONDecoder().decode(LookUpResponseModel.self, from: data)
46 | completion(responseModel, nil)
| |- warning: capture of 'completion' with non-sendable type '(LookUpResponseModel?, (any Error)?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
47 | } catch {
48 | completion(nil, error)
/Users/admin/builder/spi-builder-workspace/Sources/SSAppUpdater/Helper/SSAPIManager.swift:76:17: warning: capture of 'completion' with non-sendable type '(Result<String, CustomError>) -> Void' in a '@Sendable' closure
74 | let task = URLSession.shared.dataTask(with: url) { (data, response, error) in
75 | if let error {
76 | completion(.failure(.other(error)))
| |- warning: capture of 'completion' with non-sendable type '(Result<String, CustomError>) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
77 | return
78 | }
/Users/admin/builder/spi-builder-workspace/Sources/SSAppUpdater/Helper/SSAlertManager.swift:12:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'SSAlertManager' may have shared mutable state; this is an error in the Swift 6 language mode
8 | import StoreKit
9 |
10 | internal class SSAlertManager {
| `- note: class 'SSAlertManager' does not conform to the 'Sendable' protocol
11 | // MARK: - Variables
12 | static let shared = SSAlertManager()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'SSAlertManager' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 | }
14 |
/Users/admin/builder/spi-builder-workspace/Sources/SSAppUpdater/Helper/SSAlertManager.swift:101:25: warning: call to main actor-isolated initializer 'init()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
41 | - **macOS**: Uses `NSAlert` to present the alert. The `alertIcon` is displayed (if valid) and buttons are created for each action.
42 | */
43 | func showAlert(
| `- note: add '@MainActor' to make instance method 'showAlert(alertIcon:title:subTitle:primaryButtonTitle:primaryButtonAction:secondaryButtonTitle:secondaryButtonAction:cancelButtonTitle:cancelButtonAction:)' part of global actor 'MainActor'
44 | alertIcon: String,
45 | title: String,
:
99 | rootViewController.present(alert, animated: true, completion: nil)
100 | #else
101 | let alert = NSAlert()
| `- warning: call to main actor-isolated initializer 'init()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
102 | alert.messageText = title
103 | alert.informativeText = subTitle
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/usr/include/objc/NSObject.h:66:1: note: calls to initializer 'init()' from outside of its actor context are implicitly asynchronous
64 |
65 | + (void)initialize;
66 | - (instancetype)init
| `- note: calls to initializer 'init()' from outside of its actor context are implicitly asynchronous
67 | #if NS_ENFORCE_NSOBJECT_DESIGNATED_INITIALIZER
68 | NS_DESIGNATED_INITIALIZER
/Users/admin/builder/spi-builder-workspace/Sources/SSAppUpdater/Helper/SSAlertManager.swift:102:19: warning: main actor-isolated property 'messageText' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
41 | - **macOS**: Uses `NSAlert` to present the alert. The `alertIcon` is displayed (if valid) and buttons are created for each action.
42 | */
43 | func showAlert(
| `- note: add '@MainActor' to make instance method 'showAlert(alertIcon:title:subTitle:primaryButtonTitle:primaryButtonAction:secondaryButtonTitle:secondaryButtonAction:cancelButtonTitle:cancelButtonAction:)' part of global actor 'MainActor'
44 | alertIcon: String,
45 | title: String,
:
100 | #else
101 | let alert = NSAlert()
102 | alert.messageText = title
| `- warning: main actor-isolated property 'messageText' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
103 | alert.informativeText = subTitle
104 | alert.alertStyle = .informational
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSAlert.h:71:28: note: mutation of this property is only permitted within the actor
69 | /// The text that is displayed prominently in the alert.
70 | /// - Note: Use this string to get the user’s attention and communicate the reason for displaying the alert.
71 | @property (copy) NSString *messageText;
| `- note: mutation of this property is only permitted within the actor
72 |
73 | /// The descriptive text that provides more details about the reason for the alert.
/Users/admin/builder/spi-builder-workspace/Sources/SSAppUpdater/Helper/SSAlertManager.swift:103:19: warning: main actor-isolated property 'informativeText' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
41 | - **macOS**: Uses `NSAlert` to present the alert. The `alertIcon` is displayed (if valid) and buttons are created for each action.
42 | */
43 | func showAlert(
| `- note: add '@MainActor' to make instance method 'showAlert(alertIcon:title:subTitle:primaryButtonTitle:primaryButtonAction:secondaryButtonTitle:secondaryButtonAction:cancelButtonTitle:cancelButtonAction:)' part of global actor 'MainActor'
44 | alertIcon: String,
45 | title: String,
:
101 | let alert = NSAlert()
102 | alert.messageText = title
103 | alert.informativeText = subTitle
| `- warning: main actor-isolated property 'informativeText' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
104 | alert.alertStyle = .informational
105 | alert.addButton(withTitle: primaryButtonTitle)
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSAlert.h:75:28: note: mutation of this property is only permitted within the actor
73 | /// The descriptive text that provides more details about the reason for the alert.
74 | /// - Note: The informative text string is displayed below the message text and is less prominent. Use this string to provide additional context about the reason for the alert or about the actions that the user might take.
75 | @property (copy) NSString *informativeText;
| `- note: mutation of this property is only permitted within the actor
76 |
77 | // MARK: - Accessing a Custom Alert Icon
/Users/admin/builder/spi-builder-workspace/Sources/SSAppUpdater/Helper/SSAlertManager.swift:104:19: warning: main actor-isolated property 'alertStyle' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
41 | - **macOS**: Uses `NSAlert` to present the alert. The `alertIcon` is displayed (if valid) and buttons are created for each action.
42 | */
43 | func showAlert(
| `- note: add '@MainActor' to make instance method 'showAlert(alertIcon:title:subTitle:primaryButtonTitle:primaryButtonAction:secondaryButtonTitle:secondaryButtonAction:cancelButtonTitle:cancelButtonAction:)' part of global actor 'MainActor'
44 | alertIcon: String,
45 | title: String,
:
102 | alert.messageText = title
103 | alert.informativeText = subTitle
104 | alert.alertStyle = .informational
| `- warning: main actor-isolated property 'alertStyle' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
105 | alert.addButton(withTitle: primaryButtonTitle)
106 | if let iconImage = NSImage(systemSymbolName: alertIcon, accessibilityDescription: nil) {
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSAlert.h:105:24: note: mutation of this property is only permitted within the actor
103 |
104 | /// Indicates the alert’s severity level. See the `NSAlertStyle` enumeration for the list of alert style constants.
105 | @property NSAlertStyle alertStyle;
| `- note: mutation of this property is only permitted within the actor
106 |
107 | /// Specifies whether the alert has a help button.
/Users/admin/builder/spi-builder-workspace/Sources/SSAppUpdater/Helper/SSAlertManager.swift:105:19: warning: call to main actor-isolated instance method 'addButton(withTitle:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
41 | - **macOS**: Uses `NSAlert` to present the alert. The `alertIcon` is displayed (if valid) and buttons are created for each action.
42 | */
43 | func showAlert(
| `- note: add '@MainActor' to make instance method 'showAlert(alertIcon:title:subTitle:primaryButtonTitle:primaryButtonAction:secondaryButtonTitle:secondaryButtonAction:cancelButtonTitle:cancelButtonAction:)' part of global actor 'MainActor'
44 | alertIcon: String,
45 | title: String,
:
103 | alert.informativeText = subTitle
104 | alert.alertStyle = .informational
105 | alert.addButton(withTitle: primaryButtonTitle)
| `- warning: call to main actor-isolated instance method 'addButton(withTitle:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
106 | if let iconImage = NSImage(systemSymbolName: alertIcon, accessibilityDescription: nil) {
107 | alert.icon = iconImage
AppKit.NSAlert.addButton:2:22: note: calls to instance method 'addButton(withTitle:)' from outside of its actor context are implicitly asynchronous
1 | class NSAlert {
2 | @MainActor open func addButton(withTitle title: String) -> NSButton}
| `- note: calls to instance method 'addButton(withTitle:)' from outside of its actor context are implicitly asynchronous
3 |
/Users/admin/builder/spi-builder-workspace/Sources/SSAppUpdater/Helper/SSAlertManager.swift:107:23: warning: main actor-isolated property 'icon' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
41 | - **macOS**: Uses `NSAlert` to present the alert. The `alertIcon` is displayed (if valid) and buttons are created for each action.
42 | */
43 | func showAlert(
| `- note: add '@MainActor' to make instance method 'showAlert(alertIcon:title:subTitle:primaryButtonTitle:primaryButtonAction:secondaryButtonTitle:secondaryButtonAction:cancelButtonTitle:cancelButtonAction:)' part of global actor 'MainActor'
44 | alertIcon: String,
45 | title: String,
:
105 | alert.addButton(withTitle: primaryButtonTitle)
106 | if let iconImage = NSImage(systemSymbolName: alertIcon, accessibilityDescription: nil) {
107 | alert.icon = iconImage
| `- warning: main actor-isolated property 'icon' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
108 | }
109 | if let secondaryButtonTitle {
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSAlert.h:82:46: note: mutation of this property is only permitted within the actor
80 | /// By default, the image used in an alert is the app icon (`NSApplicationIcon`). If this property’s value is set, the specified custom image is used in place of the app icon.
81 | /// If a custom alert icon had been set, it can be cleared by setting this property’s value to `nil`, which restores use of the app icon for the alert.
82 | @property (null_resettable, strong) NSImage *icon;
| `- note: mutation of this property is only permitted within the actor
83 |
84 | // MARK: - Accessing Alert Response Buttons
/Users/admin/builder/spi-builder-workspace/Sources/SSAppUpdater/Helper/SSAlertManager.swift:110:23: warning: call to main actor-isolated instance method 'addButton(withTitle:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
41 | - **macOS**: Uses `NSAlert` to present the alert. The `alertIcon` is displayed (if valid) and buttons are created for each action.
42 | */
43 | func showAlert(
| `- note: add '@MainActor' to make instance method 'showAlert(alertIcon:title:subTitle:primaryButtonTitle:primaryButtonAction:secondaryButtonTitle:secondaryButtonAction:cancelButtonTitle:cancelButtonAction:)' part of global actor 'MainActor'
44 | alertIcon: String,
45 | title: String,
:
108 | }
109 | if let secondaryButtonTitle {
110 | alert.addButton(withTitle: secondaryButtonTitle)
| `- warning: call to main actor-isolated instance method 'addButton(withTitle:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
111 | }
112 |
AppKit.NSAlert.addButton:2:22: note: calls to instance method 'addButton(withTitle:)' from outside of its actor context are implicitly asynchronous
1 | class NSAlert {
2 | @MainActor open func addButton(withTitle title: String) -> NSButton}
| `- note: calls to instance method 'addButton(withTitle:)' from outside of its actor context are implicitly asynchronous
3 |
/Users/admin/builder/spi-builder-workspace/Sources/SSAppUpdater/Helper/SSAlertManager.swift:114:23: warning: call to main actor-isolated instance method 'addButton(withTitle:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
41 | - **macOS**: Uses `NSAlert` to present the alert. The `alertIcon` is displayed (if valid) and buttons are created for each action.
42 | */
43 | func showAlert(
| `- note: add '@MainActor' to make instance method 'showAlert(alertIcon:title:subTitle:primaryButtonTitle:primaryButtonAction:secondaryButtonTitle:secondaryButtonAction:cancelButtonTitle:cancelButtonAction:)' part of global actor 'MainActor'
44 | alertIcon: String,
45 | title: String,
:
112 |
113 | if let cancelButtonTitle {
114 | alert.addButton(withTitle: cancelButtonTitle)
| `- warning: call to main actor-isolated instance method 'addButton(withTitle:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
115 | }
116 |
AppKit.NSAlert.addButton:2:22: note: calls to instance method 'addButton(withTitle:)' from outside of its actor context are implicitly asynchronous
1 | class NSAlert {
2 | @MainActor open func addButton(withTitle title: String) -> NSButton}
| `- note: calls to instance method 'addButton(withTitle:)' from outside of its actor context are implicitly asynchronous
3 |
/Users/admin/builder/spi-builder-workspace/Sources/SSAppUpdater/Helper/SSAlertManager.swift:117:57: warning: main actor-isolated property 'keyWindow' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
41 | - **macOS**: Uses `NSAlert` to present the alert. The `alertIcon` is displayed (if valid) and buttons are created for each action.
42 | */
43 | func showAlert(
| `- note: add '@MainActor' to make instance method 'showAlert(alertIcon:title:subTitle:primaryButtonTitle:primaryButtonAction:secondaryButtonTitle:secondaryButtonAction:cancelButtonTitle:cancelButtonAction:)' part of global actor 'MainActor'
44 | alertIcon: String,
45 | title: String,
:
115 | }
116 |
117 | guard let mainWindow = NSApplication.shared.keyWindow else {
| `- warning: main actor-isolated property 'keyWindow' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
118 | return
119 | }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSApplication.h:202:48: note: property declared here
200 |
201 | @property (nullable, readonly, weak) NSWindow *mainWindow;
202 | @property (nullable, readonly, weak) NSWindow *keyWindow;
| `- note: property declared here
203 | @property (getter=isActive, readonly) BOOL active;
204 | @property (getter=isHidden, readonly) BOOL hidden;
/Users/admin/builder/spi-builder-workspace/Sources/SSAppUpdater/Helper/SSAlertManager.swift:117:50: warning: main actor-isolated class property 'shared' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
41 | - **macOS**: Uses `NSAlert` to present the alert. The `alertIcon` is displayed (if valid) and buttons are created for each action.
42 | */
43 | func showAlert(
| `- note: add '@MainActor' to make instance method 'showAlert(alertIcon:title:subTitle:primaryButtonTitle:primaryButtonAction:secondaryButtonTitle:secondaryButtonAction:cancelButtonTitle:cancelButtonAction:)' part of global actor 'MainActor'
44 | alertIcon: String,
45 | title: String,
:
115 | }
116 |
117 | guard let mainWindow = NSApplication.shared.keyWindow else {
| `- warning: main actor-isolated class property 'shared' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
118 | return
119 | }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSApplication.h:193:61: note: class property declared here
191 | APPKIT_EXTERN __kindof NSApplication * _Null_unspecified NSApp NS_SWIFT_UI_ACTOR;
192 |
193 | @property (class, readonly, strong) __kindof NSApplication *sharedApplication;
| `- note: class property declared here
194 | @property (nullable, weak) id<NSApplicationDelegate> delegate;
195 |
/Users/admin/builder/spi-builder-workspace/Sources/SSAppUpdater/Helper/SSAlertManager.swift:120:19: warning: call to main actor-isolated instance method 'beginSheetModal(for:completionHandler:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
41 | - **macOS**: Uses `NSAlert` to present the alert. The `alertIcon` is displayed (if valid) and buttons are created for each action.
42 | */
43 | func showAlert(
| `- note: add '@MainActor' to make instance method 'showAlert(alertIcon:title:subTitle:primaryButtonTitle:primaryButtonAction:secondaryButtonTitle:secondaryButtonAction:cancelButtonTitle:cancelButtonAction:)' part of global actor 'MainActor'
44 | alertIcon: String,
45 | title: String,
:
118 | return
119 | }
120 | alert.beginSheetModal(for: mainWindow) { (response) in
| `- warning: call to main actor-isolated instance method 'beginSheetModal(for:completionHandler:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
121 | if response == .alertFirstButtonReturn, let primaryButtonAction {
122 | primaryButtonAction()
AppKit.NSAlert.beginSheetModal:3:24: note: calls to instance method 'beginSheetModal(for:completionHandler:)' from outside of its actor context are implicitly asynchronous
1 | class NSAlert {
2 | @available(macOS 10.9, *)
3 | @MainActor open func beginSheetModal(for sheetWindow: NSWindow, completionHandler handler: ((NSApplication.ModalResponse) -> Void)? = nil)}
| `- note: calls to instance method 'beginSheetModal(for:completionHandler:)' from outside of its actor context are implicitly asynchronous
4 |
/Users/admin/builder/spi-builder-workspace/Sources/SSAppUpdater/Helper/SSAlertManager.swift:128:30: warning: call to main actor-isolated instance method 'close()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
126 | cancelButtonAction()
127 | }
128 | alert.window.close()
| `- warning: call to main actor-isolated instance method 'close()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
129 | }
130 | #endif
AppKit.NSWindow.close:2:22: note: calls to instance method 'close()' from outside of its actor context are implicitly asynchronous
1 | class NSWindow {
2 | @MainActor open func close()}
| |- note: calls to instance method 'close()' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'NSResponder'
3 |
/Users/admin/builder/spi-builder-workspace/Sources/SSAppUpdater/Helper/SSAlertManager.swift:128:23: warning: main actor-isolated property 'window' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
126 | cancelButtonAction()
127 | }
128 | alert.window.close()
| `- warning: main actor-isolated property 'window' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
129 | }
130 | #endif
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSAlert.h:162:40: note: property declared here
160 |
161 | /// The app-modal panel or document-modal sheet that corresponds to the alert
162 | @property (readonly, strong) NSWindow *window;
| `- note: property declared here
163 |
164 | @end
/Users/admin/builder/spi-builder-workspace/Sources/SSAppUpdater/Helper/SSAlertManager.swift:120:19: warning: sending value of non-Sendable type '(NSApplication.ModalResponse) -> Void' risks causing data races; this is an error in the Swift 6 language mode
118 | return
119 | }
120 | alert.beginSheetModal(for: mainWindow) { (response) in
| |- warning: sending value of non-Sendable type '(NSApplication.ModalResponse) -> Void' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated value of non-Sendable type '(NSApplication.ModalResponse) -> Void' to main actor-isolated instance method 'beginSheetModal(for:completionHandler:)' risks causing races in between task-isolated and main actor-isolated uses
121 | if response == .alertFirstButtonReturn, let primaryButtonAction {
122 | primaryButtonAction()
[13/21] Compiling SSAppUpdater String.swift
[14/21] Compiling SSAppUpdater UserDefaults.swift
[15/21] Compiling SSAppUpdater SSAppUpdaterEnums.swift
[16/21] Compiling SSAppUpdater SSEnumration.swift
[17/21] Compiling SSAppUpdater Bundle.swift
[18/21] Compiling SSAppUpdater Date.swift
[19/21] Emitting module SSAppUpdater
/Users/admin/builder/spi-builder-workspace/Sources/SSAppUpdater/Helper/SSAPIManager.swift:27:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'SSAPIManager' may have shared mutable state; this is an error in the Swift 6 language mode
14 | }
15 |
16 | internal class SSAPIManager {
| `- note: class 'SSAPIManager' does not conform to the 'Sendable' protocol
17 |
18 | /// Constants used for the iTunes Lookup API request.
:
25 |
26 | // MARK: - Variable Declaration
27 | static let shared = SSAPIManager()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'SSAPIManager' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
28 |
29 | // MARK: - Initializers
/Users/admin/builder/spi-builder-workspace/Sources/SSAppUpdater/Helper/SSAlertManager.swift:12:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'SSAlertManager' may have shared mutable state; this is an error in the Swift 6 language mode
8 | import StoreKit
9 |
10 | internal class SSAlertManager {
| `- note: class 'SSAlertManager' does not conform to the 'Sendable' protocol
11 | // MARK: - Variables
12 | static let shared = SSAlertManager()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'SSAlertManager' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 | }
14 |
/Users/admin/builder/spi-builder-workspace/Sources/SSAppUpdater/SSAppUpdater.swift:15:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'SSAppUpdater' may have shared mutable state; this is an error in the Swift 6 language mode
9 | import Foundation
10 |
11 | public class SSAppUpdater {
| `- note: class 'SSAppUpdater' does not conform to the 'Sendable' protocol
12 | // MARK: - Variables
13 |
14 | /// A shared instance of `SSAppUpdater` for singleton access.
15 | public static let shared = SSAppUpdater()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'SSAppUpdater' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
16 |
17 | /// An instance of `PerformVersionCheck` used for checking app versions.
[20/21] Compiling SSAppUpdater AppStoreView.swift
/Users/admin/builder/spi-builder-workspace/Sources/SSAppUpdater/PerformVersionCheck/AppStoreView.swift:51:28: warning: call to main actor-isolated instance method 'dismiss' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
48 | extension AppStoreView {
49 | class Coordinator: NSObject, SKStoreProductViewControllerDelegate {
50 | func productViewControllerDidFinish(_ viewController: SKStoreProductViewController) {
| `- note: add '@MainActor' to make instance method 'productViewControllerDidFinish' part of global actor 'MainActor'
51 | viewController.dismiss(nil)
| `- warning: call to main actor-isolated instance method 'dismiss' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
52 | }
53 | }
AppKit.NSViewController.dismiss:3:34: note: calls to instance method 'dismiss' from outside of its actor context are implicitly asynchronous
1 | class NSViewController {
2 | @available(macOS 10.10, *)
3 | @IBAction @MainActor open func dismiss(_ sender: Any?)}
| |- note: calls to instance method 'dismiss' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'NSResponder'
4 |
/Users/admin/builder/spi-builder-workspace/Sources/SSAppUpdater/PerformVersionCheck/PerformVersionCheck + ManualAppUpdater.swift:166:17: warning: capture of 'completion' with non-sendable type '(Bool) -> Void' in a '@Sendable' closure
164 | let task = session.downloadTask(with: url) { (tempLocalURL, response, error) in
165 | if error != nil {
166 | completion(false)
| |- warning: capture of 'completion' with non-sendable type '(Bool) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
167 | return
168 | }
/Users/admin/builder/spi-builder-workspace/Sources/SSAppUpdater/PerformVersionCheck/PerformVersionCheck + ManualAppUpdater.swift:226:32: warning: capture of 'appleScript' with non-sendable type 'NSAppleScript' in a '@Sendable' closure
224 | DispatchQueue.global(qos: .background).async {
225 | var error: NSDictionary?
226 | let scriptResult = appleScript.executeAndReturnError(&error)
| `- warning: capture of 'appleScript' with non-sendable type 'NSAppleScript' in a '@Sendable' closure
227 | DispatchQueue.main.async {
228 | if let error = error {
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSAppleScript.h:20:12: note: class 'NSAppleScript' does not conform to the 'Sendable' protocol
18 | FOUNDATION_EXPORT NSString *const NSAppleScriptErrorRange API_AVAILABLE(macos(10.2)) API_UNAVAILABLE(ios, watchos, tvos); // NSValue containing an NSRange
19 |
20 | @interface NSAppleScript : NSObject<NSCopying> {
| `- note: class 'NSAppleScript' does not conform to the 'Sendable' protocol
21 | @private
22 | NSString *_source;
/Users/admin/builder/spi-builder-workspace/Sources/SSAppUpdater/PerformVersionCheck/PerformVersionCheck + ManualAppUpdater.swift:233:25: warning: capture of 'self' with non-sendable type 'PerformVersionCheck' in a '@Sendable' closure
231 | if let result = scriptResult.stringValue {
232 | print(result)
233 | self.deleteFile(at: self.latestBuildFileURL(url: url))
| `- warning: capture of 'self' with non-sendable type 'PerformVersionCheck' in a '@Sendable' closure
234 |
235 | // Quit & relaunch .app file
/Users/admin/builder/spi-builder-workspace/Sources/SSAppUpdater/PerformVersionCheck/PerformVersionCheck.swift:13:16: note: class 'PerformVersionCheck' does not conform to the 'Sendable' protocol
11 | import Combine
12 |
13 | internal class PerformVersionCheck: NSObject, SKStoreProductViewControllerDelegate {
| `- note: class 'PerformVersionCheck' does not conform to the 'Sendable' protocol
14 |
15 | // MARK: - Variables
/Users/admin/builder/spi-builder-workspace/Sources/SSAppUpdater/PerformVersionCheck/PerformVersionCheck + ManualAppUpdater.swift:261:21: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
259 | primaryButtonTitle: PerformVersionCheckConstants.update,
260 | primaryButtonAction: {
261 | self.replaceAndRelaunchWithLatestBuild(url: url)
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
262 | },
263 | secondaryButtonTitle: SSAppUpdater.shared.skipVersionAllow ? PerformVersionCheckConstants.skipThisVersion : nil,
/Users/admin/builder/spi-builder-workspace/Sources/SSAppUpdater/PerformVersionCheck/PerformVersionCheck + ManualAppUpdater.swift:228:32: warning: sending 'error' risks causing data races; this is an error in the Swift 6 language mode
225 | var error: NSDictionary?
226 | let scriptResult = appleScript.executeAndReturnError(&error)
227 | DispatchQueue.main.async {
| `- note: access can happen concurrently
228 | if let error = error {
| |- warning: sending 'error' risks causing data races; this is an error in the Swift 6 language mode
| `- note: 'error' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
229 | print(error)
230 | } else {
[21/21] Compiling SSAppUpdater PerformVersionCheck + ManualAppUpdater.swift
/Users/admin/builder/spi-builder-workspace/Sources/SSAppUpdater/PerformVersionCheck/AppStoreView.swift:51:28: warning: call to main actor-isolated instance method 'dismiss' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
48 | extension AppStoreView {
49 | class Coordinator: NSObject, SKStoreProductViewControllerDelegate {
50 | func productViewControllerDidFinish(_ viewController: SKStoreProductViewController) {
| `- note: add '@MainActor' to make instance method 'productViewControllerDidFinish' part of global actor 'MainActor'
51 | viewController.dismiss(nil)
| `- warning: call to main actor-isolated instance method 'dismiss' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
52 | }
53 | }
AppKit.NSViewController.dismiss:3:34: note: calls to instance method 'dismiss' from outside of its actor context are implicitly asynchronous
1 | class NSViewController {
2 | @available(macOS 10.10, *)
3 | @IBAction @MainActor open func dismiss(_ sender: Any?)}
| |- note: calls to instance method 'dismiss' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'NSResponder'
4 |
/Users/admin/builder/spi-builder-workspace/Sources/SSAppUpdater/PerformVersionCheck/PerformVersionCheck + ManualAppUpdater.swift:166:17: warning: capture of 'completion' with non-sendable type '(Bool) -> Void' in a '@Sendable' closure
164 | let task = session.downloadTask(with: url) { (tempLocalURL, response, error) in
165 | if error != nil {
166 | completion(false)
| |- warning: capture of 'completion' with non-sendable type '(Bool) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
167 | return
168 | }
/Users/admin/builder/spi-builder-workspace/Sources/SSAppUpdater/PerformVersionCheck/PerformVersionCheck + ManualAppUpdater.swift:226:32: warning: capture of 'appleScript' with non-sendable type 'NSAppleScript' in a '@Sendable' closure
224 | DispatchQueue.global(qos: .background).async {
225 | var error: NSDictionary?
226 | let scriptResult = appleScript.executeAndReturnError(&error)
| `- warning: capture of 'appleScript' with non-sendable type 'NSAppleScript' in a '@Sendable' closure
227 | DispatchQueue.main.async {
228 | if let error = error {
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSAppleScript.h:20:12: note: class 'NSAppleScript' does not conform to the 'Sendable' protocol
18 | FOUNDATION_EXPORT NSString *const NSAppleScriptErrorRange API_AVAILABLE(macos(10.2)) API_UNAVAILABLE(ios, watchos, tvos); // NSValue containing an NSRange
19 |
20 | @interface NSAppleScript : NSObject<NSCopying> {
| `- note: class 'NSAppleScript' does not conform to the 'Sendable' protocol
21 | @private
22 | NSString *_source;
/Users/admin/builder/spi-builder-workspace/Sources/SSAppUpdater/PerformVersionCheck/PerformVersionCheck + ManualAppUpdater.swift:233:25: warning: capture of 'self' with non-sendable type 'PerformVersionCheck' in a '@Sendable' closure
231 | if let result = scriptResult.stringValue {
232 | print(result)
233 | self.deleteFile(at: self.latestBuildFileURL(url: url))
| `- warning: capture of 'self' with non-sendable type 'PerformVersionCheck' in a '@Sendable' closure
234 |
235 | // Quit & relaunch .app file
/Users/admin/builder/spi-builder-workspace/Sources/SSAppUpdater/PerformVersionCheck/PerformVersionCheck.swift:13:16: note: class 'PerformVersionCheck' does not conform to the 'Sendable' protocol
11 | import Combine
12 |
13 | internal class PerformVersionCheck: NSObject, SKStoreProductViewControllerDelegate {
| `- note: class 'PerformVersionCheck' does not conform to the 'Sendable' protocol
14 |
15 | // MARK: - Variables
/Users/admin/builder/spi-builder-workspace/Sources/SSAppUpdater/PerformVersionCheck/PerformVersionCheck + ManualAppUpdater.swift:261:21: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
259 | primaryButtonTitle: PerformVersionCheckConstants.update,
260 | primaryButtonAction: {
261 | self.replaceAndRelaunchWithLatestBuild(url: url)
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
262 | },
263 | secondaryButtonTitle: SSAppUpdater.shared.skipVersionAllow ? PerformVersionCheckConstants.skipThisVersion : nil,
/Users/admin/builder/spi-builder-workspace/Sources/SSAppUpdater/PerformVersionCheck/PerformVersionCheck + ManualAppUpdater.swift:228:32: warning: sending 'error' risks causing data races; this is an error in the Swift 6 language mode
225 | var error: NSDictionary?
226 | let scriptResult = appleScript.executeAndReturnError(&error)
227 | DispatchQueue.main.async {
| `- note: access can happen concurrently
228 | if let error = error {
| |- warning: sending 'error' risks causing data races; this is an error in the Swift 6 language mode
| `- note: 'error' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
229 | print(error)
230 | } else {
Build complete! (8.52s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "SSAppUpdater",
"name" : "SSAppUpdater",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "13.0"
},
{
"name" : "macos",
"version" : "11.0"
}
],
"products" : [
{
"name" : "SSAppUpdater",
"targets" : [
"SSAppUpdater"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"swift_languages_versions" : [
"5"
],
"targets" : [
{
"c99name" : "SSAppUpdater",
"module_type" : "SwiftTarget",
"name" : "SSAppUpdater",
"path" : "Sources/SSAppUpdater",
"product_memberships" : [
"SSAppUpdater"
],
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/SSAppUpdater/Resource/PrivacyInfo.xcprivacy",
"rule" : {
"copy" : {
}
}
}
],
"sources" : [
"Extension/Bundle.swift",
"Extension/Date.swift",
"Extension/String.swift",
"Extension/UserDefaults.swift",
"Helper/SSAPIManager.swift",
"Helper/SSAlertManager.swift",
"Helper/SSAppUpdaterEnums.swift",
"Helper/SSEnumration.swift",
"Helper/SSNetworkManager.swift",
"Helper/SSScriptOrCommandExecutor.swift",
"Models/LookUpResponseModel.swift",
"Models/SSVersionInfo.swift",
"PerformVersionCheck/AppStoreView.swift",
"PerformVersionCheck/PerformVersionCheck + ManualAppUpdater.swift",
"PerformVersionCheck/PerformVersionCheck.swift",
"SSAppUpdater.swift"
],
"type" : "library"
}
],
"tools_version" : "5.9"
}
Done.