Build Information
Successful build of DotLottie, reference v0.15.3 (0ac253), with Swift 6.1 for macOS (SPM) on 20 Apr 2026 09:35:28 UTC.
Swift 6 data race errors: 8
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 InferSendableFromCapturesBuild Log
========================================
RunAll
========================================
Builder version: 4.70.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/LottieFiles/dotlottie-ios.git
Reference: v0.15.3
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/LottieFiles/dotlottie-ios
* tag v0.15.3 -> FETCH_HEAD
HEAD is now at 0ac253f Merge pull request #114 from thomasflad/expose-dotlottieplayer-product
Submodule path 'deps/dotlottie-rs': checked out '53e567b843c792dc0aa9e635bbb7b4d0d8b12dc5'
Submodule path 'deps/dotlottie-rs/dotlottie-rs/deps/thorvg': checked out '8e912af4f050e1c25dcddf0c4324779516f7a028'
Submodule 'deps/dotlottie-rs' (https://github.com/Lottiefiles/dotlottie-rs) registered for path 'deps/dotlottie-rs'
Cloning into '/Users/admin/builder/spi-builder-workspace/deps/dotlottie-rs'...
Submodule 'dotlottie-rs/deps/thorvg' (https://github.com/thorvg/thorvg.git) registered for path 'deps/dotlottie-rs/dotlottie-rs/deps/thorvg'
Cloning into '/Users/admin/builder/spi-builder-workspace/deps/dotlottie-rs/dotlottie-rs/deps/thorvg'...
Cloned https://github.com/LottieFiles/dotlottie-ios.git
Revision (git rev-parse @):
0ac253fb9d2d4981c780848b6ce1f824bc8946a1
SUCCESS checkout https://github.com/LottieFiles/dotlottie-ios.git at v0.15.3
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.1
Building package at path: $PWD
https://github.com/LottieFiles/dotlottie-ios.git
https://github.com/LottieFiles/dotlottie-ios.git
{
"dependencies" : [
],
"manifest_display_name" : "DotLottie",
"name" : "DotLottie",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "13.0"
},
{
"name" : "macos",
"version" : "11.0"
},
{
"name" : "tvos",
"version" : "13.0"
},
{
"name" : "maccatalyst",
"version" : "13.0"
},
{
"name" : "watchos",
"version" : "7.0"
}
],
"products" : [
{
"name" : "DotLottie",
"targets" : [
"DotLottie",
"DotLottiePlayer"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "DotLottiePlayer",
"targets" : [
"DotLottiePlayer"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "DotLottieTests",
"module_type" : "SwiftTarget",
"name" : "DotLottieTests",
"path" : "Tests/DotLottieTests",
"sources" : [
"DotLottieTests.swift"
],
"target_dependencies" : [
"DotLottie"
],
"type" : "test"
},
{
"c99name" : "DotLottiePlayer",
"module_type" : "BinaryTarget",
"name" : "DotLottiePlayer",
"path" : "Sources/DotLottieCore/DotLottiePlayer.xcframework",
"product_memberships" : [
"DotLottie",
"DotLottiePlayer"
],
"sources" : [
],
"type" : "binary"
},
{
"c99name" : "DotLottie",
"module_type" : "SwiftTarget",
"name" : "DotLottie",
"path" : "Sources/DotLottie",
"product_memberships" : [
"DotLottie"
],
"sources" : [
"Public/Coordinator.swift",
"Public/DotLottie.swift",
"Public/DotLottieAnimation.swift",
"Public/DotLottieAnimationView.swift",
"Public/DotLottieObserver.swift",
"Public/DotLottiePlayerBridge.swift",
"Public/DotLottieView.swift",
"Public/Errors.swift",
"Public/GestureManager.swift",
"Public/LottiePlayer.swift",
"Public/LottiePlayerView.swift",
"Public/Models/AnimationConfig.swift",
"Public/Models/AnimationModel.swift",
"Public/Player.swift",
"Public/Utils/Utils.swift",
"Public/ViewRepresentable.swift"
],
"target_dependencies" : [
"DotLottiePlayer"
],
"type" : "library"
},
{
"c99name" : "BuildCustomFramework",
"module_type" : "PluginTarget",
"name" : "BuildCustomFramework",
"path" : "Plugins/BuildCustomFramework",
"plugin_capability" : {
"intent" : {
"description" : "Build DotLottiePlayer XCFramework with custom features",
"type" : "custom",
"verb" : "build-custom-framework"
},
"permissions" : [
{
"network_scope" : {
"none" : {
}
},
"reason" : "Write custom-built XCFramework to Sources/DotLottieCore/Custom/",
"type" : "writeToPackageDirectory"
}
],
"type" : "command"
},
"sources" : [
"plugin.swift"
],
"type" : "plugin"
}
],
"tools_version" : "5.7"
}
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
[1/1] Compiling plugin BuildCustomFramework
Building for debugging...
[1/4] Write sources
[2/4] Copying DotLottiePlayer.framework
[3/4] Write swift-version-2F0A5646E1D333AE.txt
[5/20] Compiling DotLottie Player.swift
[6/20] Compiling DotLottie LottiePlayerView.swift
/Users/admin/builder/spi-builder-workspace/Sources/DotLottie/Public/LottiePlayerView.swift:200:43: warning: non-sendable result type 'DotLottieAnimation?' cannot be sent from nonisolated context in call to let 'loadAnimation'; this is an error in the Swift 6 language mode
198 | Task {
199 | do {
200 | let animation = try await loadAnimation()
| `- warning: non-sendable result type 'DotLottieAnimation?' cannot be sent from nonisolated context in call to let 'loadAnimation'; this is an error in the Swift 6 language mode
201 | await MainActor.run {
202 | remoteAnimation = animation
/Users/admin/builder/spi-builder-workspace/Sources/DotLottie/Public/DotLottieAnimation.swift:36:20: note: class 'DotLottieAnimation' does not conform to the 'Sendable' protocol
34 |
35 | // MARK: DotLottieAnimation
36 | public final class DotLottieAnimation: ObservableObject {
| `- note: class 'DotLottieAnimation' does not conform to the 'Sendable' protocol
37 | @Published public var framerate: Int = 30
38 |
[7/20] Compiling DotLottie AnimationConfig.swift
/Users/admin/builder/spi-builder-workspace/Sources/DotLottie/Public/LottiePlayerView.swift:200:43: warning: non-sendable result type 'DotLottieAnimation?' cannot be sent from nonisolated context in call to let 'loadAnimation'; this is an error in the Swift 6 language mode
198 | Task {
199 | do {
200 | let animation = try await loadAnimation()
| `- warning: non-sendable result type 'DotLottieAnimation?' cannot be sent from nonisolated context in call to let 'loadAnimation'; this is an error in the Swift 6 language mode
201 | await MainActor.run {
202 | remoteAnimation = animation
/Users/admin/builder/spi-builder-workspace/Sources/DotLottie/Public/DotLottieAnimation.swift:36:20: note: class 'DotLottieAnimation' does not conform to the 'Sendable' protocol
34 |
35 | // MARK: DotLottieAnimation
36 | public final class DotLottieAnimation: ObservableObject {
| `- note: class 'DotLottieAnimation' does not conform to the 'Sendable' protocol
37 | @Published public var framerate: Int = 30
38 |
[8/20] Compiling DotLottie Utils.swift
[9/20] Compiling DotLottie AnimationModel.swift
[10/20] Compiling DotLottie GestureManager.swift
/Users/admin/builder/spi-builder-workspace/Sources/DotLottie/Public/LottiePlayer.swift:1031:10: warning: main actor-isolated instance method 'gestureManagerDidRecognizeMove(_:at:)' cannot be used to satisfy nonisolated requirement from protocol 'GestureManagerDelegate'; this is an error in the Swift 6 language mode
1023 |
1024 | #if canImport(AppKit)
1025 | extension DotLottiePlayerUIView: GestureManagerDelegate {
| `- note: add '@preconcurrency' to the 'GestureManagerDelegate' conformance to defer isolation checking to run time
1026 | func gestureManagerDidRecognizeTap(_ gestureManager: GestureManager, at location: CGPoint) {
1027 | let mapped = mapCoordinatesToAnimation(location)
:
1029 | }
1030 |
1031 | func gestureManagerDidRecognizeMove(_ gestureManager: GestureManager, at location: CGPoint) {
| |- warning: main actor-isolated instance method 'gestureManagerDidRecognizeMove(_:at:)' cannot be used to satisfy nonisolated requirement from protocol 'GestureManagerDelegate'; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'gestureManagerDidRecognizeMove(_:at:)' to make this instance method not isolated to the actor
1032 | let mapped = mapCoordinatesToAnimation(location)
1033 | stateMachinePostEvent(.pointerMove(x: Float(mapped.x), y: Float(mapped.y)))
/Users/admin/builder/spi-builder-workspace/Sources/DotLottie/Public/GestureManager.swift:110:10: note: mark the protocol requirement 'gestureManagerDidRecognizeMove(_:at:)' 'async' to allow actor-isolated conformances
108 |
109 | protocol GestureManagerDelegate: AnyObject {
110 | func gestureManagerDidRecognizeMove(_ gestureManager: GestureManager, at location: CGPoint)
| `- note: mark the protocol requirement 'gestureManagerDidRecognizeMove(_:at:)' 'async' to allow actor-isolated conformances
111 | func gestureManagerDidRecognizeDown(_ gestureManager: GestureManager, at location: CGPoint)
112 | func gestureManagerDidRecognizeUp(_ gestureManager: GestureManager, at location: CGPoint)
/Users/admin/builder/spi-builder-workspace/Sources/DotLottie/Public/LottiePlayer.swift:1036:10: warning: main actor-isolated instance method 'gestureManagerDidRecognizeDown(_:at:)' cannot be used to satisfy nonisolated requirement from protocol 'GestureManagerDelegate'; this is an error in the Swift 6 language mode
1034 | }
1035 |
1036 | func gestureManagerDidRecognizeDown(_ gestureManager: GestureManager, at location: CGPoint) {
| |- warning: main actor-isolated instance method 'gestureManagerDidRecognizeDown(_:at:)' cannot be used to satisfy nonisolated requirement from protocol 'GestureManagerDelegate'; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'gestureManagerDidRecognizeDown(_:at:)' to make this instance method not isolated to the actor
1037 | let mapped = mapCoordinatesToAnimation(location)
1038 | stateMachinePostEvent(.pointerDown(x: Float(mapped.x), y: Float(mapped.y)))
/Users/admin/builder/spi-builder-workspace/Sources/DotLottie/Public/GestureManager.swift:111:10: note: mark the protocol requirement 'gestureManagerDidRecognizeDown(_:at:)' 'async' to allow actor-isolated conformances
109 | protocol GestureManagerDelegate: AnyObject {
110 | func gestureManagerDidRecognizeMove(_ gestureManager: GestureManager, at location: CGPoint)
111 | func gestureManagerDidRecognizeDown(_ gestureManager: GestureManager, at location: CGPoint)
| `- note: mark the protocol requirement 'gestureManagerDidRecognizeDown(_:at:)' 'async' to allow actor-isolated conformances
112 | func gestureManagerDidRecognizeUp(_ gestureManager: GestureManager, at location: CGPoint)
113 | func gestureManagerDidRecognizeTap(_ gestureManager: GestureManager, at location: CGPoint)
/Users/admin/builder/spi-builder-workspace/Sources/DotLottie/Public/LottiePlayer.swift:1041:10: warning: main actor-isolated instance method 'gestureManagerDidRecognizeUp(_:at:)' cannot be used to satisfy nonisolated requirement from protocol 'GestureManagerDelegate'; this is an error in the Swift 6 language mode
1039 | }
1040 |
1041 | func gestureManagerDidRecognizeUp(_ gestureManager: GestureManager, at location: CGPoint) {
| |- warning: main actor-isolated instance method 'gestureManagerDidRecognizeUp(_:at:)' cannot be used to satisfy nonisolated requirement from protocol 'GestureManagerDelegate'; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'gestureManagerDidRecognizeUp(_:at:)' to make this instance method not isolated to the actor
1042 | let mapped = mapCoordinatesToAnimation(location)
1043 | stateMachinePostEvent(.pointerUp(x: Float(mapped.x), y: Float(mapped.y)))
/Users/admin/builder/spi-builder-workspace/Sources/DotLottie/Public/GestureManager.swift:112:10: note: mark the protocol requirement 'gestureManagerDidRecognizeUp(_:at:)' 'async' to allow actor-isolated conformances
110 | func gestureManagerDidRecognizeMove(_ gestureManager: GestureManager, at location: CGPoint)
111 | func gestureManagerDidRecognizeDown(_ gestureManager: GestureManager, at location: CGPoint)
112 | func gestureManagerDidRecognizeUp(_ gestureManager: GestureManager, at location: CGPoint)
| `- note: mark the protocol requirement 'gestureManagerDidRecognizeUp(_:at:)' 'async' to allow actor-isolated conformances
113 | func gestureManagerDidRecognizeTap(_ gestureManager: GestureManager, at location: CGPoint)
114 | func gestureManagerDidRecognizeHover(_ gestureManager: GestureManager, at location: CGPoint)
/Users/admin/builder/spi-builder-workspace/Sources/DotLottie/Public/LottiePlayer.swift:1026:10: warning: main actor-isolated instance method 'gestureManagerDidRecognizeTap(_:at:)' cannot be used to satisfy nonisolated requirement from protocol 'GestureManagerDelegate'; this is an error in the Swift 6 language mode
1024 | #if canImport(AppKit)
1025 | extension DotLottiePlayerUIView: GestureManagerDelegate {
1026 | func gestureManagerDidRecognizeTap(_ gestureManager: GestureManager, at location: CGPoint) {
| |- warning: main actor-isolated instance method 'gestureManagerDidRecognizeTap(_:at:)' cannot be used to satisfy nonisolated requirement from protocol 'GestureManagerDelegate'; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'gestureManagerDidRecognizeTap(_:at:)' to make this instance method not isolated to the actor
1027 | let mapped = mapCoordinatesToAnimation(location)
1028 | stateMachinePostEvent(.click(x: Float(mapped.x), y: Float(mapped.y)))
/Users/admin/builder/spi-builder-workspace/Sources/DotLottie/Public/GestureManager.swift:113:10: note: mark the protocol requirement 'gestureManagerDidRecognizeTap(_:at:)' 'async' to allow actor-isolated conformances
111 | func gestureManagerDidRecognizeDown(_ gestureManager: GestureManager, at location: CGPoint)
112 | func gestureManagerDidRecognizeUp(_ gestureManager: GestureManager, at location: CGPoint)
113 | func gestureManagerDidRecognizeTap(_ gestureManager: GestureManager, at location: CGPoint)
| `- note: mark the protocol requirement 'gestureManagerDidRecognizeTap(_:at:)' 'async' to allow actor-isolated conformances
114 | func gestureManagerDidRecognizeHover(_ gestureManager: GestureManager, at location: CGPoint)
115 | func gestureManagerDidRecognizeExitHover(_ gestureManager: GestureManager, at location: CGPoint)
/Users/admin/builder/spi-builder-workspace/Sources/DotLottie/Public/LottiePlayer.swift:1046:10: warning: main actor-isolated instance method 'gestureManagerDidRecognizeHover(_:at:)' cannot be used to satisfy nonisolated requirement from protocol 'GestureManagerDelegate'; this is an error in the Swift 6 language mode
1044 | }
1045 |
1046 | func gestureManagerDidRecognizeHover(_ gestureManager: GestureManager, at location: CGPoint) {
| |- warning: main actor-isolated instance method 'gestureManagerDidRecognizeHover(_:at:)' cannot be used to satisfy nonisolated requirement from protocol 'GestureManagerDelegate'; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'gestureManagerDidRecognizeHover(_:at:)' to make this instance method not isolated to the actor
1047 | let mapped = mapCoordinatesToAnimation(location)
1048 | stateMachinePostEvent(.pointerEnter(x: Float(mapped.x), y: Float(mapped.y)))
/Users/admin/builder/spi-builder-workspace/Sources/DotLottie/Public/GestureManager.swift:114:10: note: mark the protocol requirement 'gestureManagerDidRecognizeHover(_:at:)' 'async' to allow actor-isolated conformances
112 | func gestureManagerDidRecognizeUp(_ gestureManager: GestureManager, at location: CGPoint)
113 | func gestureManagerDidRecognizeTap(_ gestureManager: GestureManager, at location: CGPoint)
114 | func gestureManagerDidRecognizeHover(_ gestureManager: GestureManager, at location: CGPoint)
| `- note: mark the protocol requirement 'gestureManagerDidRecognizeHover(_:at:)' 'async' to allow actor-isolated conformances
115 | func gestureManagerDidRecognizeExitHover(_ gestureManager: GestureManager, at location: CGPoint)
116 | }
/Users/admin/builder/spi-builder-workspace/Sources/DotLottie/Public/LottiePlayer.swift:1051:10: warning: main actor-isolated instance method 'gestureManagerDidRecognizeExitHover(_:at:)' cannot be used to satisfy nonisolated requirement from protocol 'GestureManagerDelegate'; this is an error in the Swift 6 language mode
1049 | }
1050 |
1051 | func gestureManagerDidRecognizeExitHover(_ gestureManager: GestureManager, at location: CGPoint) {
| |- warning: main actor-isolated instance method 'gestureManagerDidRecognizeExitHover(_:at:)' cannot be used to satisfy nonisolated requirement from protocol 'GestureManagerDelegate'; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'gestureManagerDidRecognizeExitHover(_:at:)' to make this instance method not isolated to the actor
1052 | let mapped = mapCoordinatesToAnimation(location)
1053 | stateMachinePostEvent(.pointerExit(x: Float(mapped.x), y: Float(mapped.y)))
/Users/admin/builder/spi-builder-workspace/Sources/DotLottie/Public/GestureManager.swift:115:10: note: mark the protocol requirement 'gestureManagerDidRecognizeExitHover(_:at:)' 'async' to allow actor-isolated conformances
113 | func gestureManagerDidRecognizeTap(_ gestureManager: GestureManager, at location: CGPoint)
114 | func gestureManagerDidRecognizeHover(_ gestureManager: GestureManager, at location: CGPoint)
115 | func gestureManagerDidRecognizeExitHover(_ gestureManager: GestureManager, at location: CGPoint)
| `- note: mark the protocol requirement 'gestureManagerDidRecognizeExitHover(_:at:)' 'async' to allow actor-isolated conformances
116 | }
117 |
/Users/admin/builder/spi-builder-workspace/Sources/DotLottie/Public/LottiePlayer.swift:964:9: warning: cannot access property 'cancellables' with a non-sendable type 'Set<AnyCancellable>' from nonisolated deinit; this is an error in the Swift 6 language mode
962 |
963 | deinit {
964 | cancellables.removeAll()
| `- warning: cannot access property 'cancellables' with a non-sendable type 'Set<AnyCancellable>' from nonisolated deinit; this is an error in the Swift 6 language mode
965 | }
966 | }
Combine.AnyCancellable:2:20: note: class 'AnyCancellable' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
2 | final public class AnyCancellable : Cancellable, Hashable {
| `- note: class 'AnyCancellable' does not conform to the 'Sendable' protocol
3 | public init(_ cancel: @escaping () -> Void)
4 | public init<C>(_ canceller: C) where C : Cancellable
/Users/admin/builder/spi-builder-workspace/Sources/DotLottie/Public/LottiePlayer.swift:15:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Combine'
13 | import MetalKit
14 | import CoreImage
15 | import Combine
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Combine'
16 |
17 | public typealias PlatformView = NSView
[11/20] Compiling DotLottie LottiePlayer.swift
/Users/admin/builder/spi-builder-workspace/Sources/DotLottie/Public/LottiePlayer.swift:1031:10: warning: main actor-isolated instance method 'gestureManagerDidRecognizeMove(_:at:)' cannot be used to satisfy nonisolated requirement from protocol 'GestureManagerDelegate'; this is an error in the Swift 6 language mode
1023 |
1024 | #if canImport(AppKit)
1025 | extension DotLottiePlayerUIView: GestureManagerDelegate {
| `- note: add '@preconcurrency' to the 'GestureManagerDelegate' conformance to defer isolation checking to run time
1026 | func gestureManagerDidRecognizeTap(_ gestureManager: GestureManager, at location: CGPoint) {
1027 | let mapped = mapCoordinatesToAnimation(location)
:
1029 | }
1030 |
1031 | func gestureManagerDidRecognizeMove(_ gestureManager: GestureManager, at location: CGPoint) {
| |- warning: main actor-isolated instance method 'gestureManagerDidRecognizeMove(_:at:)' cannot be used to satisfy nonisolated requirement from protocol 'GestureManagerDelegate'; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'gestureManagerDidRecognizeMove(_:at:)' to make this instance method not isolated to the actor
1032 | let mapped = mapCoordinatesToAnimation(location)
1033 | stateMachinePostEvent(.pointerMove(x: Float(mapped.x), y: Float(mapped.y)))
/Users/admin/builder/spi-builder-workspace/Sources/DotLottie/Public/GestureManager.swift:110:10: note: mark the protocol requirement 'gestureManagerDidRecognizeMove(_:at:)' 'async' to allow actor-isolated conformances
108 |
109 | protocol GestureManagerDelegate: AnyObject {
110 | func gestureManagerDidRecognizeMove(_ gestureManager: GestureManager, at location: CGPoint)
| `- note: mark the protocol requirement 'gestureManagerDidRecognizeMove(_:at:)' 'async' to allow actor-isolated conformances
111 | func gestureManagerDidRecognizeDown(_ gestureManager: GestureManager, at location: CGPoint)
112 | func gestureManagerDidRecognizeUp(_ gestureManager: GestureManager, at location: CGPoint)
/Users/admin/builder/spi-builder-workspace/Sources/DotLottie/Public/LottiePlayer.swift:1036:10: warning: main actor-isolated instance method 'gestureManagerDidRecognizeDown(_:at:)' cannot be used to satisfy nonisolated requirement from protocol 'GestureManagerDelegate'; this is an error in the Swift 6 language mode
1034 | }
1035 |
1036 | func gestureManagerDidRecognizeDown(_ gestureManager: GestureManager, at location: CGPoint) {
| |- warning: main actor-isolated instance method 'gestureManagerDidRecognizeDown(_:at:)' cannot be used to satisfy nonisolated requirement from protocol 'GestureManagerDelegate'; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'gestureManagerDidRecognizeDown(_:at:)' to make this instance method not isolated to the actor
1037 | let mapped = mapCoordinatesToAnimation(location)
1038 | stateMachinePostEvent(.pointerDown(x: Float(mapped.x), y: Float(mapped.y)))
/Users/admin/builder/spi-builder-workspace/Sources/DotLottie/Public/GestureManager.swift:111:10: note: mark the protocol requirement 'gestureManagerDidRecognizeDown(_:at:)' 'async' to allow actor-isolated conformances
109 | protocol GestureManagerDelegate: AnyObject {
110 | func gestureManagerDidRecognizeMove(_ gestureManager: GestureManager, at location: CGPoint)
111 | func gestureManagerDidRecognizeDown(_ gestureManager: GestureManager, at location: CGPoint)
| `- note: mark the protocol requirement 'gestureManagerDidRecognizeDown(_:at:)' 'async' to allow actor-isolated conformances
112 | func gestureManagerDidRecognizeUp(_ gestureManager: GestureManager, at location: CGPoint)
113 | func gestureManagerDidRecognizeTap(_ gestureManager: GestureManager, at location: CGPoint)
/Users/admin/builder/spi-builder-workspace/Sources/DotLottie/Public/LottiePlayer.swift:1041:10: warning: main actor-isolated instance method 'gestureManagerDidRecognizeUp(_:at:)' cannot be used to satisfy nonisolated requirement from protocol 'GestureManagerDelegate'; this is an error in the Swift 6 language mode
1039 | }
1040 |
1041 | func gestureManagerDidRecognizeUp(_ gestureManager: GestureManager, at location: CGPoint) {
| |- warning: main actor-isolated instance method 'gestureManagerDidRecognizeUp(_:at:)' cannot be used to satisfy nonisolated requirement from protocol 'GestureManagerDelegate'; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'gestureManagerDidRecognizeUp(_:at:)' to make this instance method not isolated to the actor
1042 | let mapped = mapCoordinatesToAnimation(location)
1043 | stateMachinePostEvent(.pointerUp(x: Float(mapped.x), y: Float(mapped.y)))
/Users/admin/builder/spi-builder-workspace/Sources/DotLottie/Public/GestureManager.swift:112:10: note: mark the protocol requirement 'gestureManagerDidRecognizeUp(_:at:)' 'async' to allow actor-isolated conformances
110 | func gestureManagerDidRecognizeMove(_ gestureManager: GestureManager, at location: CGPoint)
111 | func gestureManagerDidRecognizeDown(_ gestureManager: GestureManager, at location: CGPoint)
112 | func gestureManagerDidRecognizeUp(_ gestureManager: GestureManager, at location: CGPoint)
| `- note: mark the protocol requirement 'gestureManagerDidRecognizeUp(_:at:)' 'async' to allow actor-isolated conformances
113 | func gestureManagerDidRecognizeTap(_ gestureManager: GestureManager, at location: CGPoint)
114 | func gestureManagerDidRecognizeHover(_ gestureManager: GestureManager, at location: CGPoint)
/Users/admin/builder/spi-builder-workspace/Sources/DotLottie/Public/LottiePlayer.swift:1026:10: warning: main actor-isolated instance method 'gestureManagerDidRecognizeTap(_:at:)' cannot be used to satisfy nonisolated requirement from protocol 'GestureManagerDelegate'; this is an error in the Swift 6 language mode
1024 | #if canImport(AppKit)
1025 | extension DotLottiePlayerUIView: GestureManagerDelegate {
1026 | func gestureManagerDidRecognizeTap(_ gestureManager: GestureManager, at location: CGPoint) {
| |- warning: main actor-isolated instance method 'gestureManagerDidRecognizeTap(_:at:)' cannot be used to satisfy nonisolated requirement from protocol 'GestureManagerDelegate'; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'gestureManagerDidRecognizeTap(_:at:)' to make this instance method not isolated to the actor
1027 | let mapped = mapCoordinatesToAnimation(location)
1028 | stateMachinePostEvent(.click(x: Float(mapped.x), y: Float(mapped.y)))
/Users/admin/builder/spi-builder-workspace/Sources/DotLottie/Public/GestureManager.swift:113:10: note: mark the protocol requirement 'gestureManagerDidRecognizeTap(_:at:)' 'async' to allow actor-isolated conformances
111 | func gestureManagerDidRecognizeDown(_ gestureManager: GestureManager, at location: CGPoint)
112 | func gestureManagerDidRecognizeUp(_ gestureManager: GestureManager, at location: CGPoint)
113 | func gestureManagerDidRecognizeTap(_ gestureManager: GestureManager, at location: CGPoint)
| `- note: mark the protocol requirement 'gestureManagerDidRecognizeTap(_:at:)' 'async' to allow actor-isolated conformances
114 | func gestureManagerDidRecognizeHover(_ gestureManager: GestureManager, at location: CGPoint)
115 | func gestureManagerDidRecognizeExitHover(_ gestureManager: GestureManager, at location: CGPoint)
/Users/admin/builder/spi-builder-workspace/Sources/DotLottie/Public/LottiePlayer.swift:1046:10: warning: main actor-isolated instance method 'gestureManagerDidRecognizeHover(_:at:)' cannot be used to satisfy nonisolated requirement from protocol 'GestureManagerDelegate'; this is an error in the Swift 6 language mode
1044 | }
1045 |
1046 | func gestureManagerDidRecognizeHover(_ gestureManager: GestureManager, at location: CGPoint) {
| |- warning: main actor-isolated instance method 'gestureManagerDidRecognizeHover(_:at:)' cannot be used to satisfy nonisolated requirement from protocol 'GestureManagerDelegate'; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'gestureManagerDidRecognizeHover(_:at:)' to make this instance method not isolated to the actor
1047 | let mapped = mapCoordinatesToAnimation(location)
1048 | stateMachinePostEvent(.pointerEnter(x: Float(mapped.x), y: Float(mapped.y)))
/Users/admin/builder/spi-builder-workspace/Sources/DotLottie/Public/GestureManager.swift:114:10: note: mark the protocol requirement 'gestureManagerDidRecognizeHover(_:at:)' 'async' to allow actor-isolated conformances
112 | func gestureManagerDidRecognizeUp(_ gestureManager: GestureManager, at location: CGPoint)
113 | func gestureManagerDidRecognizeTap(_ gestureManager: GestureManager, at location: CGPoint)
114 | func gestureManagerDidRecognizeHover(_ gestureManager: GestureManager, at location: CGPoint)
| `- note: mark the protocol requirement 'gestureManagerDidRecognizeHover(_:at:)' 'async' to allow actor-isolated conformances
115 | func gestureManagerDidRecognizeExitHover(_ gestureManager: GestureManager, at location: CGPoint)
116 | }
/Users/admin/builder/spi-builder-workspace/Sources/DotLottie/Public/LottiePlayer.swift:1051:10: warning: main actor-isolated instance method 'gestureManagerDidRecognizeExitHover(_:at:)' cannot be used to satisfy nonisolated requirement from protocol 'GestureManagerDelegate'; this is an error in the Swift 6 language mode
1049 | }
1050 |
1051 | func gestureManagerDidRecognizeExitHover(_ gestureManager: GestureManager, at location: CGPoint) {
| |- warning: main actor-isolated instance method 'gestureManagerDidRecognizeExitHover(_:at:)' cannot be used to satisfy nonisolated requirement from protocol 'GestureManagerDelegate'; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'gestureManagerDidRecognizeExitHover(_:at:)' to make this instance method not isolated to the actor
1052 | let mapped = mapCoordinatesToAnimation(location)
1053 | stateMachinePostEvent(.pointerExit(x: Float(mapped.x), y: Float(mapped.y)))
/Users/admin/builder/spi-builder-workspace/Sources/DotLottie/Public/GestureManager.swift:115:10: note: mark the protocol requirement 'gestureManagerDidRecognizeExitHover(_:at:)' 'async' to allow actor-isolated conformances
113 | func gestureManagerDidRecognizeTap(_ gestureManager: GestureManager, at location: CGPoint)
114 | func gestureManagerDidRecognizeHover(_ gestureManager: GestureManager, at location: CGPoint)
115 | func gestureManagerDidRecognizeExitHover(_ gestureManager: GestureManager, at location: CGPoint)
| `- note: mark the protocol requirement 'gestureManagerDidRecognizeExitHover(_:at:)' 'async' to allow actor-isolated conformances
116 | }
117 |
/Users/admin/builder/spi-builder-workspace/Sources/DotLottie/Public/LottiePlayer.swift:964:9: warning: cannot access property 'cancellables' with a non-sendable type 'Set<AnyCancellable>' from nonisolated deinit; this is an error in the Swift 6 language mode
962 |
963 | deinit {
964 | cancellables.removeAll()
| `- warning: cannot access property 'cancellables' with a non-sendable type 'Set<AnyCancellable>' from nonisolated deinit; this is an error in the Swift 6 language mode
965 | }
966 | }
Combine.AnyCancellable:2:20: note: class 'AnyCancellable' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
2 | final public class AnyCancellable : Cancellable, Hashable {
| `- note: class 'AnyCancellable' does not conform to the 'Sendable' protocol
3 | public init(_ cancel: @escaping () -> Void)
4 | public init<C>(_ canceller: C) where C : Cancellable
/Users/admin/builder/spi-builder-workspace/Sources/DotLottie/Public/LottiePlayer.swift:15:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Combine'
13 | import MetalKit
14 | import CoreImage
15 | import Combine
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Combine'
16 |
17 | public typealias PlatformView = NSView
[12/21] Compiling DotLottie ViewRepresentable.swift
[13/21] Compiling DotLottie DotLottieObserver.swift
/Users/admin/builder/spi-builder-workspace/Sources/DotLottie/Public/DotLottiePlayerBridge.swift:1176:13: warning: capture of 'self' with non-sendable type 'DotLottiePlayer?' in a '@Sendable' closure
363 | // MARK: - DotLottiePlayer
364 |
365 | public class DotLottiePlayer {
| `- note: class 'DotLottiePlayer' does not conform to the 'Sendable' protocol
366 | private var playerPtr: OpaquePointer?
367 | private var stateMachinePtr: OpaquePointer?
:
1174 | private func startEventPolling() {
1175 | eventPollTimer = Timer.scheduledTimer(withTimeInterval: 0.016, repeats: true) { [weak self] _ in
1176 | self?.pollEvents()
| `- warning: capture of 'self' with non-sendable type 'DotLottiePlayer?' in a '@Sendable' closure
1177 | }
1178 | }
[14/21] Compiling DotLottie DotLottiePlayerBridge.swift
/Users/admin/builder/spi-builder-workspace/Sources/DotLottie/Public/DotLottiePlayerBridge.swift:1176:13: warning: capture of 'self' with non-sendable type 'DotLottiePlayer?' in a '@Sendable' closure
363 | // MARK: - DotLottiePlayer
364 |
365 | public class DotLottiePlayer {
| `- note: class 'DotLottiePlayer' does not conform to the 'Sendable' protocol
366 | private var playerPtr: OpaquePointer?
367 | private var stateMachinePtr: OpaquePointer?
:
1174 | private func startEventPolling() {
1175 | eventPollTimer = Timer.scheduledTimer(withTimeInterval: 0.016, repeats: true) { [weak self] _ in
1176 | self?.pollEvents()
| `- warning: capture of 'self' with non-sendable type 'DotLottiePlayer?' in a '@Sendable' closure
1177 | }
1178 | }
[15/21] Compiling DotLottie DotLottieView.swift
/Users/admin/builder/spi-builder-workspace/Sources/DotLottie/Public/DotLottieView.swift:29:34: warning: main actor-isolated property 'dotLottieViewModel' cannot be used to satisfy nonisolated requirement from protocol 'DotLottie'; this is an error in the Swift 6 language mode
14 |
15 | // SwiftUI animation view
16 | public struct DotLottieView: ViewRepresentable, DotLottie {
| `- note: add '@preconcurrency' to the 'DotLottie' conformance to defer isolation checking to run time
17 | public typealias UIViewType = MTKView
18 |
:
27 | #endif
28 |
29 | @ObservedObject internal var dotLottieViewModel: DotLottieAnimation
| `- warning: main actor-isolated property 'dotLottieViewModel' cannot be used to satisfy nonisolated requirement from protocol 'DotLottie'; this is an error in the Swift 6 language mode
30 | @ObservedObject internal var playerState: Player
31 |
/Users/admin/builder/spi-builder-workspace/Sources/DotLottie/Public/DotLottie.swift:11:9: note: requirement 'dotLottieViewModel' declared here
9 |
10 | protocol DotLottie {
11 | var dotLottieViewModel: DotLottieAnimation { get set }
| `- note: requirement 'dotLottieViewModel' declared here
12 | }
13 |
[16/21] Compiling DotLottie Errors.swift
/Users/admin/builder/spi-builder-workspace/Sources/DotLottie/Public/DotLottieView.swift:29:34: warning: main actor-isolated property 'dotLottieViewModel' cannot be used to satisfy nonisolated requirement from protocol 'DotLottie'; this is an error in the Swift 6 language mode
14 |
15 | // SwiftUI animation view
16 | public struct DotLottieView: ViewRepresentable, DotLottie {
| `- note: add '@preconcurrency' to the 'DotLottie' conformance to defer isolation checking to run time
17 | public typealias UIViewType = MTKView
18 |
:
27 | #endif
28 |
29 | @ObservedObject internal var dotLottieViewModel: DotLottieAnimation
| `- warning: main actor-isolated property 'dotLottieViewModel' cannot be used to satisfy nonisolated requirement from protocol 'DotLottie'; this is an error in the Swift 6 language mode
30 | @ObservedObject internal var playerState: Player
31 |
/Users/admin/builder/spi-builder-workspace/Sources/DotLottie/Public/DotLottie.swift:11:9: note: requirement 'dotLottieViewModel' declared here
9 |
10 | protocol DotLottie {
11 | var dotLottieViewModel: DotLottieAnimation { get set }
| `- note: requirement 'dotLottieViewModel' declared here
12 | }
13 |
[17/21] Emitting module DotLottie
/Users/admin/builder/spi-builder-workspace/Sources/DotLottie/Public/DotLottieAnimationView.swift:31:16: warning: main actor-isolated property 'dotLottieViewModel' cannot be used to satisfy nonisolated requirement from protocol 'DotLottie'; this is an error in the Swift 6 language mode
24 |
25 | // Platform animation view for UIKit/AppKit
26 | public class DotLottieAnimationView: PlatformViewBase, DotLottie {
| `- note: add '@preconcurrency' to the 'DotLottie' conformance to defer isolation checking to run time
27 | private var mtkView: MTKView!
28 | private var coordinator: Coordinator!
29 | private var cancellableBag = Set<AnyCancellable>()
30 |
31 | public var dotLottieViewModel: DotLottieAnimation
| `- warning: main actor-isolated property 'dotLottieViewModel' cannot be used to satisfy nonisolated requirement from protocol 'DotLottie'; this is an error in the Swift 6 language mode
32 |
33 | public init(dotLottieViewModel: DotLottieAnimation) {
/Users/admin/builder/spi-builder-workspace/Sources/DotLottie/Public/DotLottie.swift:11:9: note: requirement 'dotLottieViewModel' declared here
9 |
10 | protocol DotLottie {
11 | var dotLottieViewModel: DotLottieAnimation { get set }
| `- note: requirement 'dotLottieViewModel' declared here
12 | }
13 |
/Users/admin/builder/spi-builder-workspace/Sources/DotLottie/Public/DotLottieView.swift:29:34: warning: main actor-isolated property 'dotLottieViewModel' cannot be used to satisfy nonisolated requirement from protocol 'DotLottie'; this is an error in the Swift 6 language mode
14 |
15 | // SwiftUI animation view
16 | public struct DotLottieView: ViewRepresentable, DotLottie {
| `- note: add '@preconcurrency' to the 'DotLottie' conformance to defer isolation checking to run time
17 | public typealias UIViewType = MTKView
18 |
:
27 | #endif
28 |
29 | @ObservedObject internal var dotLottieViewModel: DotLottieAnimation
| `- warning: main actor-isolated property 'dotLottieViewModel' cannot be used to satisfy nonisolated requirement from protocol 'DotLottie'; this is an error in the Swift 6 language mode
30 | @ObservedObject internal var playerState: Player
31 |
/Users/admin/builder/spi-builder-workspace/Sources/DotLottie/Public/DotLottie.swift:11:9: note: requirement 'dotLottieViewModel' declared here
9 |
10 | protocol DotLottie {
11 | var dotLottieViewModel: DotLottieAnimation { get set }
| `- note: requirement 'dotLottieViewModel' declared here
12 | }
13 |
/Users/admin/builder/spi-builder-workspace/Sources/DotLottie/Public/LottiePlayer.swift:1031:10: warning: main actor-isolated instance method 'gestureManagerDidRecognizeMove(_:at:)' cannot be used to satisfy nonisolated requirement from protocol 'GestureManagerDelegate'; this is an error in the Swift 6 language mode
1023 |
1024 | #if canImport(AppKit)
1025 | extension DotLottiePlayerUIView: GestureManagerDelegate {
| `- note: add '@preconcurrency' to the 'GestureManagerDelegate' conformance to defer isolation checking to run time
1026 | func gestureManagerDidRecognizeTap(_ gestureManager: GestureManager, at location: CGPoint) {
1027 | let mapped = mapCoordinatesToAnimation(location)
:
1029 | }
1030 |
1031 | func gestureManagerDidRecognizeMove(_ gestureManager: GestureManager, at location: CGPoint) {
| |- warning: main actor-isolated instance method 'gestureManagerDidRecognizeMove(_:at:)' cannot be used to satisfy nonisolated requirement from protocol 'GestureManagerDelegate'; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'gestureManagerDidRecognizeMove(_:at:)' to make this instance method not isolated to the actor
1032 | let mapped = mapCoordinatesToAnimation(location)
1033 | stateMachinePostEvent(.pointerMove(x: Float(mapped.x), y: Float(mapped.y)))
/Users/admin/builder/spi-builder-workspace/Sources/DotLottie/Public/GestureManager.swift:110:10: note: mark the protocol requirement 'gestureManagerDidRecognizeMove(_:at:)' 'async' to allow actor-isolated conformances
108 |
109 | protocol GestureManagerDelegate: AnyObject {
110 | func gestureManagerDidRecognizeMove(_ gestureManager: GestureManager, at location: CGPoint)
| `- note: mark the protocol requirement 'gestureManagerDidRecognizeMove(_:at:)' 'async' to allow actor-isolated conformances
111 | func gestureManagerDidRecognizeDown(_ gestureManager: GestureManager, at location: CGPoint)
112 | func gestureManagerDidRecognizeUp(_ gestureManager: GestureManager, at location: CGPoint)
/Users/admin/builder/spi-builder-workspace/Sources/DotLottie/Public/LottiePlayer.swift:1036:10: warning: main actor-isolated instance method 'gestureManagerDidRecognizeDown(_:at:)' cannot be used to satisfy nonisolated requirement from protocol 'GestureManagerDelegate'; this is an error in the Swift 6 language mode
1034 | }
1035 |
1036 | func gestureManagerDidRecognizeDown(_ gestureManager: GestureManager, at location: CGPoint) {
| |- warning: main actor-isolated instance method 'gestureManagerDidRecognizeDown(_:at:)' cannot be used to satisfy nonisolated requirement from protocol 'GestureManagerDelegate'; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'gestureManagerDidRecognizeDown(_:at:)' to make this instance method not isolated to the actor
1037 | let mapped = mapCoordinatesToAnimation(location)
1038 | stateMachinePostEvent(.pointerDown(x: Float(mapped.x), y: Float(mapped.y)))
/Users/admin/builder/spi-builder-workspace/Sources/DotLottie/Public/GestureManager.swift:111:10: note: mark the protocol requirement 'gestureManagerDidRecognizeDown(_:at:)' 'async' to allow actor-isolated conformances
109 | protocol GestureManagerDelegate: AnyObject {
110 | func gestureManagerDidRecognizeMove(_ gestureManager: GestureManager, at location: CGPoint)
111 | func gestureManagerDidRecognizeDown(_ gestureManager: GestureManager, at location: CGPoint)
| `- note: mark the protocol requirement 'gestureManagerDidRecognizeDown(_:at:)' 'async' to allow actor-isolated conformances
112 | func gestureManagerDidRecognizeUp(_ gestureManager: GestureManager, at location: CGPoint)
113 | func gestureManagerDidRecognizeTap(_ gestureManager: GestureManager, at location: CGPoint)
/Users/admin/builder/spi-builder-workspace/Sources/DotLottie/Public/LottiePlayer.swift:1041:10: warning: main actor-isolated instance method 'gestureManagerDidRecognizeUp(_:at:)' cannot be used to satisfy nonisolated requirement from protocol 'GestureManagerDelegate'; this is an error in the Swift 6 language mode
1039 | }
1040 |
1041 | func gestureManagerDidRecognizeUp(_ gestureManager: GestureManager, at location: CGPoint) {
| |- warning: main actor-isolated instance method 'gestureManagerDidRecognizeUp(_:at:)' cannot be used to satisfy nonisolated requirement from protocol 'GestureManagerDelegate'; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'gestureManagerDidRecognizeUp(_:at:)' to make this instance method not isolated to the actor
1042 | let mapped = mapCoordinatesToAnimation(location)
1043 | stateMachinePostEvent(.pointerUp(x: Float(mapped.x), y: Float(mapped.y)))
/Users/admin/builder/spi-builder-workspace/Sources/DotLottie/Public/GestureManager.swift:112:10: note: mark the protocol requirement 'gestureManagerDidRecognizeUp(_:at:)' 'async' to allow actor-isolated conformances
110 | func gestureManagerDidRecognizeMove(_ gestureManager: GestureManager, at location: CGPoint)
111 | func gestureManagerDidRecognizeDown(_ gestureManager: GestureManager, at location: CGPoint)
112 | func gestureManagerDidRecognizeUp(_ gestureManager: GestureManager, at location: CGPoint)
| `- note: mark the protocol requirement 'gestureManagerDidRecognizeUp(_:at:)' 'async' to allow actor-isolated conformances
113 | func gestureManagerDidRecognizeTap(_ gestureManager: GestureManager, at location: CGPoint)
114 | func gestureManagerDidRecognizeHover(_ gestureManager: GestureManager, at location: CGPoint)
/Users/admin/builder/spi-builder-workspace/Sources/DotLottie/Public/LottiePlayer.swift:1026:10: warning: main actor-isolated instance method 'gestureManagerDidRecognizeTap(_:at:)' cannot be used to satisfy nonisolated requirement from protocol 'GestureManagerDelegate'; this is an error in the Swift 6 language mode
1024 | #if canImport(AppKit)
1025 | extension DotLottiePlayerUIView: GestureManagerDelegate {
1026 | func gestureManagerDidRecognizeTap(_ gestureManager: GestureManager, at location: CGPoint) {
| |- warning: main actor-isolated instance method 'gestureManagerDidRecognizeTap(_:at:)' cannot be used to satisfy nonisolated requirement from protocol 'GestureManagerDelegate'; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'gestureManagerDidRecognizeTap(_:at:)' to make this instance method not isolated to the actor
1027 | let mapped = mapCoordinatesToAnimation(location)
1028 | stateMachinePostEvent(.click(x: Float(mapped.x), y: Float(mapped.y)))
/Users/admin/builder/spi-builder-workspace/Sources/DotLottie/Public/GestureManager.swift:113:10: note: mark the protocol requirement 'gestureManagerDidRecognizeTap(_:at:)' 'async' to allow actor-isolated conformances
111 | func gestureManagerDidRecognizeDown(_ gestureManager: GestureManager, at location: CGPoint)
112 | func gestureManagerDidRecognizeUp(_ gestureManager: GestureManager, at location: CGPoint)
113 | func gestureManagerDidRecognizeTap(_ gestureManager: GestureManager, at location: CGPoint)
| `- note: mark the protocol requirement 'gestureManagerDidRecognizeTap(_:at:)' 'async' to allow actor-isolated conformances
114 | func gestureManagerDidRecognizeHover(_ gestureManager: GestureManager, at location: CGPoint)
115 | func gestureManagerDidRecognizeExitHover(_ gestureManager: GestureManager, at location: CGPoint)
/Users/admin/builder/spi-builder-workspace/Sources/DotLottie/Public/LottiePlayer.swift:1046:10: warning: main actor-isolated instance method 'gestureManagerDidRecognizeHover(_:at:)' cannot be used to satisfy nonisolated requirement from protocol 'GestureManagerDelegate'; this is an error in the Swift 6 language mode
1044 | }
1045 |
1046 | func gestureManagerDidRecognizeHover(_ gestureManager: GestureManager, at location: CGPoint) {
| |- warning: main actor-isolated instance method 'gestureManagerDidRecognizeHover(_:at:)' cannot be used to satisfy nonisolated requirement from protocol 'GestureManagerDelegate'; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'gestureManagerDidRecognizeHover(_:at:)' to make this instance method not isolated to the actor
1047 | let mapped = mapCoordinatesToAnimation(location)
1048 | stateMachinePostEvent(.pointerEnter(x: Float(mapped.x), y: Float(mapped.y)))
/Users/admin/builder/spi-builder-workspace/Sources/DotLottie/Public/GestureManager.swift:114:10: note: mark the protocol requirement 'gestureManagerDidRecognizeHover(_:at:)' 'async' to allow actor-isolated conformances
112 | func gestureManagerDidRecognizeUp(_ gestureManager: GestureManager, at location: CGPoint)
113 | func gestureManagerDidRecognizeTap(_ gestureManager: GestureManager, at location: CGPoint)
114 | func gestureManagerDidRecognizeHover(_ gestureManager: GestureManager, at location: CGPoint)
| `- note: mark the protocol requirement 'gestureManagerDidRecognizeHover(_:at:)' 'async' to allow actor-isolated conformances
115 | func gestureManagerDidRecognizeExitHover(_ gestureManager: GestureManager, at location: CGPoint)
116 | }
/Users/admin/builder/spi-builder-workspace/Sources/DotLottie/Public/LottiePlayer.swift:1051:10: warning: main actor-isolated instance method 'gestureManagerDidRecognizeExitHover(_:at:)' cannot be used to satisfy nonisolated requirement from protocol 'GestureManagerDelegate'; this is an error in the Swift 6 language mode
1049 | }
1050 |
1051 | func gestureManagerDidRecognizeExitHover(_ gestureManager: GestureManager, at location: CGPoint) {
| |- warning: main actor-isolated instance method 'gestureManagerDidRecognizeExitHover(_:at:)' cannot be used to satisfy nonisolated requirement from protocol 'GestureManagerDelegate'; this is an error in the Swift 6 language mode
| `- note: add 'nonisolated' to 'gestureManagerDidRecognizeExitHover(_:at:)' to make this instance method not isolated to the actor
1052 | let mapped = mapCoordinatesToAnimation(location)
1053 | stateMachinePostEvent(.pointerExit(x: Float(mapped.x), y: Float(mapped.y)))
/Users/admin/builder/spi-builder-workspace/Sources/DotLottie/Public/GestureManager.swift:115:10: note: mark the protocol requirement 'gestureManagerDidRecognizeExitHover(_:at:)' 'async' to allow actor-isolated conformances
113 | func gestureManagerDidRecognizeTap(_ gestureManager: GestureManager, at location: CGPoint)
114 | func gestureManagerDidRecognizeHover(_ gestureManager: GestureManager, at location: CGPoint)
115 | func gestureManagerDidRecognizeExitHover(_ gestureManager: GestureManager, at location: CGPoint)
| `- note: mark the protocol requirement 'gestureManagerDidRecognizeExitHover(_:at:)' 'async' to allow actor-isolated conformances
116 | }
117 |
[18/21] Compiling DotLottie Coordinator.swift
/Users/admin/builder/spi-builder-workspace/Sources/DotLottie/Public/Coordinator.swift:119:35: warning: main actor-isolated property 'window' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
114 |
115 | #if os(macOS)
116 | private func setupScreenChangeObserver() {
| `- note: add '@MainActor' to make instance method 'setupScreenChangeObserver()' part of global actor 'MainActor'
117 | NotificationCenter.default.addObserver(
118 | forName: NSWindow.didChangeScreenNotification,
119 | object: self.mtkView?.window,
| `- warning: main actor-isolated property 'window' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
120 | queue: .main
121 | ) { [weak self] notification in
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:86:61: note: property declared here
84 | - (nullable instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
85 |
86 | @property (nullable, readonly, unsafe_unretained) NSWindow *window;
| `- note: property declared here
87 | @property (nullable, readonly, unsafe_unretained) NSView *superview;
88 | @property (copy) NSArray<__kindof NSView *> *subviews;
/Users/admin/builder/spi-builder-workspace/Sources/DotLottie/Public/Coordinator.swift:122:13: warning: capture of 'self' with non-sendable type 'Coordinator?' in a '@Sendable' closure
85 |
86 | // Unified Coordinator for all platforms
87 | public class Coordinator: NSObject, MTKViewDelegate {
| `- note: class 'Coordinator' does not conform to the 'Sendable' protocol
88 | private var parent: DotLottie
89 | private var ciContext: CIContext!
:
120 | queue: .main
121 | ) { [weak self] notification in
122 | self?.dpr = self?.getMaxDPRScale() ?? 1.0
| `- warning: capture of 'self' with non-sendable type 'Coordinator?' in a '@Sendable' closure
123 | }
124 | }
/Users/admin/builder/spi-builder-workspace/Sources/DotLottie/Public/Coordinator.swift:129:21: warning: main actor-isolated property 'device' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
125 | #endif
126 |
127 | private func setupMetal(mtkView: MTKView) {
| `- note: add '@MainActor' to make instance method 'setupMetal(mtkView:)' part of global actor 'MainActor'
128 | if let metalDevice = MTLCreateSystemDefaultDevice() {
129 | mtkView.device = metalDevice
| `- warning: main actor-isolated property 'device' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
130 | self.metalDevice = metalDevice
131 | }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/MetalKit.framework/Headers/MTKView.h:52:56: note: mutation of this property is only permitted within the actor
50 | @discussion This must be explicitly set by the application unless it was passed into the initializer. Defaults to nil
51 | */
52 | @property (nonatomic, retain, nullable) id <MTLDevice> device;
| `- note: mutation of this property is only permitted within the actor
53 |
54 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/DotLottie/Public/Coordinator.swift:148:29: warning: main actor-isolated property 'gestureCoordinator' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
14 | // Custom MTKView that handles mouse events
15 | class InteractiveMTKView: MTKView {
16 | weak var gestureCoordinator: Coordinator?
| `- note: mutation of this property is only permitted within the actor
17 |
18 | override func mouseDown(with event: NSEvent) {
:
138 | // macOS gestures are managed here
139 | // Other platforms have to self managed gestures
140 | private func setupPlatformSpecificGestures(mtkView: MTKView) {
| `- note: add '@MainActor' to make instance method 'setupPlatformSpecificGestures(mtkView:)' part of global actor 'MainActor'
141 | #if os(macOS)
142 | // Initialize gesture manager for macOS
:
146 | // Set up mouse event handling if this is an InteractiveMTKView
147 | if let interactiveView = mtkView as? InteractiveMTKView {
148 | interactiveView.gestureCoordinator = self
| `- warning: main actor-isolated property 'gestureCoordinator' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
149 | interactiveView.updateTrackingAreas()
150 | }
/Users/admin/builder/spi-builder-workspace/Sources/DotLottie/Public/Coordinator.swift:149:29: warning: call to main actor-isolated instance method 'updateTrackingAreas()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
52 | }
53 |
54 | override func updateTrackingAreas() {
| |- note: calls to instance method 'updateTrackingAreas()' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'MTKView'
55 | super.updateTrackingAreas()
56 |
:
138 | // macOS gestures are managed here
139 | // Other platforms have to self managed gestures
140 | private func setupPlatformSpecificGestures(mtkView: MTKView) {
| `- note: add '@MainActor' to make instance method 'setupPlatformSpecificGestures(mtkView:)' part of global actor 'MainActor'
141 | #if os(macOS)
142 | // Initialize gesture manager for macOS
:
147 | if let interactiveView = mtkView as? InteractiveMTKView {
148 | interactiveView.gestureCoordinator = self
149 | interactiveView.updateTrackingAreas()
| `- warning: call to main actor-isolated instance method 'updateTrackingAreas()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
150 | }
151 | #endif
/Users/admin/builder/spi-builder-workspace/Sources/DotLottie/Public/Coordinator.swift:274:37: warning: main actor-isolated property 'window' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
270 |
271 | #if os(macOS)
272 | private func getMaxDPRScale() -> CGFloat {
| `- note: add '@MainActor' to make instance method 'getMaxDPRScale()' part of global actor 'MainActor'
273 | // Get the DPR of the screen where the window is currently displayed
274 | guard let window = mtkView?.window,
| `- warning: main actor-isolated property 'window' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
275 | let screen = window.screen else {
276 | // Fallback to main screen if we can't find the window's screen
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:86:61: note: property declared here
84 | - (nullable instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
85 |
86 | @property (nullable, readonly, unsafe_unretained) NSWindow *window;
| `- note: property declared here
87 | @property (nullable, readonly, unsafe_unretained) NSView *superview;
88 | @property (copy) NSArray<__kindof NSView *> *subviews;
/Users/admin/builder/spi-builder-workspace/Sources/DotLottie/Public/Coordinator.swift:275:35: warning: main actor-isolated property 'screen' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
270 |
271 | #if os(macOS)
272 | private func getMaxDPRScale() -> CGFloat {
| `- note: add '@MainActor' to make instance method 'getMaxDPRScale()' part of global actor 'MainActor'
273 | // Get the DPR of the screen where the window is currently displayed
274 | guard let window = mtkView?.window,
275 | let screen = window.screen else {
| `- warning: main actor-isolated property 'screen' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
276 | // Fallback to main screen if we can't find the window's screen
277 | let fallbackDpr = NSScreen.main?.backingScaleFactor ?? 1.0
/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 |
[19/21] Compiling DotLottie DotLottie.swift
/Users/admin/builder/spi-builder-workspace/Sources/DotLottie/Public/Coordinator.swift:119:35: warning: main actor-isolated property 'window' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
114 |
115 | #if os(macOS)
116 | private func setupScreenChangeObserver() {
| `- note: add '@MainActor' to make instance method 'setupScreenChangeObserver()' part of global actor 'MainActor'
117 | NotificationCenter.default.addObserver(
118 | forName: NSWindow.didChangeScreenNotification,
119 | object: self.mtkView?.window,
| `- warning: main actor-isolated property 'window' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
120 | queue: .main
121 | ) { [weak self] notification in
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:86:61: note: property declared here
84 | - (nullable instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
85 |
86 | @property (nullable, readonly, unsafe_unretained) NSWindow *window;
| `- note: property declared here
87 | @property (nullable, readonly, unsafe_unretained) NSView *superview;
88 | @property (copy) NSArray<__kindof NSView *> *subviews;
/Users/admin/builder/spi-builder-workspace/Sources/DotLottie/Public/Coordinator.swift:122:13: warning: capture of 'self' with non-sendable type 'Coordinator?' in a '@Sendable' closure
85 |
86 | // Unified Coordinator for all platforms
87 | public class Coordinator: NSObject, MTKViewDelegate {
| `- note: class 'Coordinator' does not conform to the 'Sendable' protocol
88 | private var parent: DotLottie
89 | private var ciContext: CIContext!
:
120 | queue: .main
121 | ) { [weak self] notification in
122 | self?.dpr = self?.getMaxDPRScale() ?? 1.0
| `- warning: capture of 'self' with non-sendable type 'Coordinator?' in a '@Sendable' closure
123 | }
124 | }
/Users/admin/builder/spi-builder-workspace/Sources/DotLottie/Public/Coordinator.swift:129:21: warning: main actor-isolated property 'device' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
125 | #endif
126 |
127 | private func setupMetal(mtkView: MTKView) {
| `- note: add '@MainActor' to make instance method 'setupMetal(mtkView:)' part of global actor 'MainActor'
128 | if let metalDevice = MTLCreateSystemDefaultDevice() {
129 | mtkView.device = metalDevice
| `- warning: main actor-isolated property 'device' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
130 | self.metalDevice = metalDevice
131 | }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/MetalKit.framework/Headers/MTKView.h:52:56: note: mutation of this property is only permitted within the actor
50 | @discussion This must be explicitly set by the application unless it was passed into the initializer. Defaults to nil
51 | */
52 | @property (nonatomic, retain, nullable) id <MTLDevice> device;
| `- note: mutation of this property is only permitted within the actor
53 |
54 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/DotLottie/Public/Coordinator.swift:148:29: warning: main actor-isolated property 'gestureCoordinator' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
14 | // Custom MTKView that handles mouse events
15 | class InteractiveMTKView: MTKView {
16 | weak var gestureCoordinator: Coordinator?
| `- note: mutation of this property is only permitted within the actor
17 |
18 | override func mouseDown(with event: NSEvent) {
:
138 | // macOS gestures are managed here
139 | // Other platforms have to self managed gestures
140 | private func setupPlatformSpecificGestures(mtkView: MTKView) {
| `- note: add '@MainActor' to make instance method 'setupPlatformSpecificGestures(mtkView:)' part of global actor 'MainActor'
141 | #if os(macOS)
142 | // Initialize gesture manager for macOS
:
146 | // Set up mouse event handling if this is an InteractiveMTKView
147 | if let interactiveView = mtkView as? InteractiveMTKView {
148 | interactiveView.gestureCoordinator = self
| `- warning: main actor-isolated property 'gestureCoordinator' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
149 | interactiveView.updateTrackingAreas()
150 | }
/Users/admin/builder/spi-builder-workspace/Sources/DotLottie/Public/Coordinator.swift:149:29: warning: call to main actor-isolated instance method 'updateTrackingAreas()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
52 | }
53 |
54 | override func updateTrackingAreas() {
| |- note: calls to instance method 'updateTrackingAreas()' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'MTKView'
55 | super.updateTrackingAreas()
56 |
:
138 | // macOS gestures are managed here
139 | // Other platforms have to self managed gestures
140 | private func setupPlatformSpecificGestures(mtkView: MTKView) {
| `- note: add '@MainActor' to make instance method 'setupPlatformSpecificGestures(mtkView:)' part of global actor 'MainActor'
141 | #if os(macOS)
142 | // Initialize gesture manager for macOS
:
147 | if let interactiveView = mtkView as? InteractiveMTKView {
148 | interactiveView.gestureCoordinator = self
149 | interactiveView.updateTrackingAreas()
| `- warning: call to main actor-isolated instance method 'updateTrackingAreas()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
150 | }
151 | #endif
/Users/admin/builder/spi-builder-workspace/Sources/DotLottie/Public/Coordinator.swift:274:37: warning: main actor-isolated property 'window' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
270 |
271 | #if os(macOS)
272 | private func getMaxDPRScale() -> CGFloat {
| `- note: add '@MainActor' to make instance method 'getMaxDPRScale()' part of global actor 'MainActor'
273 | // Get the DPR of the screen where the window is currently displayed
274 | guard let window = mtkView?.window,
| `- warning: main actor-isolated property 'window' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
275 | let screen = window.screen else {
276 | // Fallback to main screen if we can't find the window's screen
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:86:61: note: property declared here
84 | - (nullable instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
85 |
86 | @property (nullable, readonly, unsafe_unretained) NSWindow *window;
| `- note: property declared here
87 | @property (nullable, readonly, unsafe_unretained) NSView *superview;
88 | @property (copy) NSArray<__kindof NSView *> *subviews;
/Users/admin/builder/spi-builder-workspace/Sources/DotLottie/Public/Coordinator.swift:275:35: warning: main actor-isolated property 'screen' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
270 |
271 | #if os(macOS)
272 | private func getMaxDPRScale() -> CGFloat {
| `- note: add '@MainActor' to make instance method 'getMaxDPRScale()' part of global actor 'MainActor'
273 | // Get the DPR of the screen where the window is currently displayed
274 | guard let window = mtkView?.window,
275 | let screen = window.screen else {
| `- warning: main actor-isolated property 'screen' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
276 | // Fallback to main screen if we can't find the window's screen
277 | let fallbackDpr = NSScreen.main?.backingScaleFactor ?? 1.0
/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 |
[20/21] Compiling DotLottie DotLottieAnimation.swift
/Users/admin/builder/spi-builder-workspace/Sources/DotLottie/Public/DotLottieAnimation.swift:833:9: warning: call to main actor-isolated initializer 'init(dotLottie:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
830 |
831 | // MARK: View creators
832 | public func view() -> DotLottieView {
| `- note: add '@MainActor' to make instance method 'view()' part of global actor 'MainActor'
833 | DotLottieView(dotLottie: self)
| `- warning: call to main actor-isolated initializer 'init(dotLottie:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
834 | }
835 |
/Users/admin/builder/spi-builder-workspace/Sources/DotLottie/Public/DotLottieView.swift:32:12: note: calls to initializer 'init(dotLottie:)' from outside of its actor context are implicitly asynchronous
30 | @ObservedObject internal var playerState: Player
31 |
32 | public init(dotLottie: DotLottieAnimation) {
| |- note: calls to initializer 'init(dotLottie:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from conformance to protocol 'ViewRepresentable'
33 | self.dotLottieViewModel = dotLottie
34 | self.playerState = dotLottie.player
/Users/admin/builder/spi-builder-workspace/Sources/DotLottie/Public/DotLottieAnimationView.swift:31:16: warning: main actor-isolated property 'dotLottieViewModel' cannot be used to satisfy nonisolated requirement from protocol 'DotLottie'; this is an error in the Swift 6 language mode
24 |
25 | // Platform animation view for UIKit/AppKit
26 | public class DotLottieAnimationView: PlatformViewBase, DotLottie {
| `- note: add '@preconcurrency' to the 'DotLottie' conformance to defer isolation checking to run time
27 | private var mtkView: MTKView!
28 | private var coordinator: Coordinator!
29 | private var cancellableBag = Set<AnyCancellable>()
30 |
31 | public var dotLottieViewModel: DotLottieAnimation
| `- warning: main actor-isolated property 'dotLottieViewModel' cannot be used to satisfy nonisolated requirement from protocol 'DotLottie'; this is an error in the Swift 6 language mode
32 |
33 | public init(dotLottieViewModel: DotLottieAnimation) {
/Users/admin/builder/spi-builder-workspace/Sources/DotLottie/Public/DotLottie.swift:11:9: note: requirement 'dotLottieViewModel' declared here
9 |
10 | protocol DotLottie {
11 | var dotLottieViewModel: DotLottieAnimation { get set }
| `- note: requirement 'dotLottieViewModel' declared here
12 | }
13 |
/Users/admin/builder/spi-builder-workspace/Sources/DotLottie/Public/DotLottieAnimation.swift:239:21: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
237 | DispatchQueue.main.async {
238 | do {
239 | self.framerate = try getAnimationFramerate(animationData: animationData)
| |- 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
240 | } catch {
241 | self.framerate = 30
/Users/admin/builder/spi-builder-workspace/Sources/DotLottie/Public/DotLottieAnimation.swift:158:18: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
156 | ) {
157 | self.init(config: config, threads: threads) { `self` in
158 | Task {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
159 | do {
160 | try await load(self)
| `- note: closure captures 'self' which is accessible to code in the current task
161 | } catch {
162 | print(errorMessage(error))
/Users/admin/builder/spi-builder-workspace/Sources/DotLottie/Public/DotLottieAnimation.swift:833:9: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
831 | // MARK: View creators
832 | public func view() -> DotLottieView {
833 | DotLottieView(dotLottie: self)
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'self' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
834 | }
835 |
[21/21] Compiling DotLottie DotLottieAnimationView.swift
/Users/admin/builder/spi-builder-workspace/Sources/DotLottie/Public/DotLottieAnimation.swift:833:9: warning: call to main actor-isolated initializer 'init(dotLottie:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
830 |
831 | // MARK: View creators
832 | public func view() -> DotLottieView {
| `- note: add '@MainActor' to make instance method 'view()' part of global actor 'MainActor'
833 | DotLottieView(dotLottie: self)
| `- warning: call to main actor-isolated initializer 'init(dotLottie:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
834 | }
835 |
/Users/admin/builder/spi-builder-workspace/Sources/DotLottie/Public/DotLottieView.swift:32:12: note: calls to initializer 'init(dotLottie:)' from outside of its actor context are implicitly asynchronous
30 | @ObservedObject internal var playerState: Player
31 |
32 | public init(dotLottie: DotLottieAnimation) {
| |- note: calls to initializer 'init(dotLottie:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from conformance to protocol 'ViewRepresentable'
33 | self.dotLottieViewModel = dotLottie
34 | self.playerState = dotLottie.player
/Users/admin/builder/spi-builder-workspace/Sources/DotLottie/Public/DotLottieAnimationView.swift:31:16: warning: main actor-isolated property 'dotLottieViewModel' cannot be used to satisfy nonisolated requirement from protocol 'DotLottie'; this is an error in the Swift 6 language mode
24 |
25 | // Platform animation view for UIKit/AppKit
26 | public class DotLottieAnimationView: PlatformViewBase, DotLottie {
| `- note: add '@preconcurrency' to the 'DotLottie' conformance to defer isolation checking to run time
27 | private var mtkView: MTKView!
28 | private var coordinator: Coordinator!
29 | private var cancellableBag = Set<AnyCancellable>()
30 |
31 | public var dotLottieViewModel: DotLottieAnimation
| `- warning: main actor-isolated property 'dotLottieViewModel' cannot be used to satisfy nonisolated requirement from protocol 'DotLottie'; this is an error in the Swift 6 language mode
32 |
33 | public init(dotLottieViewModel: DotLottieAnimation) {
/Users/admin/builder/spi-builder-workspace/Sources/DotLottie/Public/DotLottie.swift:11:9: note: requirement 'dotLottieViewModel' declared here
9 |
10 | protocol DotLottie {
11 | var dotLottieViewModel: DotLottieAnimation { get set }
| `- note: requirement 'dotLottieViewModel' declared here
12 | }
13 |
/Users/admin/builder/spi-builder-workspace/Sources/DotLottie/Public/DotLottieAnimation.swift:239:21: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
237 | DispatchQueue.main.async {
238 | do {
239 | self.framerate = try getAnimationFramerate(animationData: animationData)
| |- 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
240 | } catch {
241 | self.framerate = 30
/Users/admin/builder/spi-builder-workspace/Sources/DotLottie/Public/DotLottieAnimation.swift:158:18: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
156 | ) {
157 | self.init(config: config, threads: threads) { `self` in
158 | Task {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
159 | do {
160 | try await load(self)
| `- note: closure captures 'self' which is accessible to code in the current task
161 | } catch {
162 | print(errorMessage(error))
/Users/admin/builder/spi-builder-workspace/Sources/DotLottie/Public/DotLottieAnimation.swift:833:9: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
831 | // MARK: View creators
832 | public func view() -> DotLottieView {
833 | DotLottieView(dotLottie: self)
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'self' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
834 | }
835 |
Build complete! (10.00s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "DotLottie",
"name" : "DotLottie",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "13.0"
},
{
"name" : "macos",
"version" : "11.0"
},
{
"name" : "tvos",
"version" : "13.0"
},
{
"name" : "maccatalyst",
"version" : "13.0"
},
{
"name" : "watchos",
"version" : "7.0"
}
],
"products" : [
{
"name" : "DotLottie",
"targets" : [
"DotLottie",
"DotLottiePlayer"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "DotLottiePlayer",
"targets" : [
"DotLottiePlayer"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "DotLottieTests",
"module_type" : "SwiftTarget",
"name" : "DotLottieTests",
"path" : "Tests/DotLottieTests",
"sources" : [
"DotLottieTests.swift"
],
"target_dependencies" : [
"DotLottie"
],
"type" : "test"
},
{
"c99name" : "DotLottiePlayer",
"module_type" : "BinaryTarget",
"name" : "DotLottiePlayer",
"path" : "Sources/DotLottieCore/DotLottiePlayer.xcframework",
"product_memberships" : [
"DotLottie",
"DotLottiePlayer"
],
"sources" : [
],
"type" : "binary"
},
{
"c99name" : "DotLottie",
"module_type" : "SwiftTarget",
"name" : "DotLottie",
"path" : "Sources/DotLottie",
"product_memberships" : [
"DotLottie"
],
"sources" : [
"Public/Coordinator.swift",
"Public/DotLottie.swift",
"Public/DotLottieAnimation.swift",
"Public/DotLottieAnimationView.swift",
"Public/DotLottieObserver.swift",
"Public/DotLottiePlayerBridge.swift",
"Public/DotLottieView.swift",
"Public/Errors.swift",
"Public/GestureManager.swift",
"Public/LottiePlayer.swift",
"Public/LottiePlayerView.swift",
"Public/Models/AnimationConfig.swift",
"Public/Models/AnimationModel.swift",
"Public/Player.swift",
"Public/Utils/Utils.swift",
"Public/ViewRepresentable.swift"
],
"target_dependencies" : [
"DotLottiePlayer"
],
"type" : "library"
},
{
"c99name" : "BuildCustomFramework",
"module_type" : "PluginTarget",
"name" : "BuildCustomFramework",
"path" : "Plugins/BuildCustomFramework",
"plugin_capability" : {
"intent" : {
"description" : "Build DotLottiePlayer XCFramework with custom features",
"type" : "custom",
"verb" : "build-custom-framework"
},
"permissions" : [
{
"network_scope" : {
"none" : {
}
},
"reason" : "Write custom-built XCFramework to Sources/DotLottieCore/Custom/",
"type" : "writeToPackageDirectory"
}
],
"type" : "command"
},
"sources" : [
"plugin.swift"
],
"type" : "plugin"
}
],
"tools_version" : "5.7"
}
Done.