The Swift Package Index logo.Swift Package Index

Build Information

Successful build of AudioVisualService, reference main (ba75d6), with Swift 6.4 for macOS (SPM) on 23 Sep 2026 13:45:45 UTC.

Swift 6 data race errors: 0

Build Command

env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64

Build Log

========================================
RunAll
========================================
Builder version: 5.1.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/iankoex/AudioVisualService.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/iankoex/AudioVisualService
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at ba75d6c Add Swift package badges to README
Cloned https://github.com/iankoex/AudioVisualService.git
Revision (git rev-parse @):
ba75d6cc7113c2cc35ac87425a69c495e2acc8b0
SUCCESS checkout https://github.com/iankoex/AudioVisualService.git at main
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.4
Building package at path:  $PWD
https://github.com/iankoex/AudioVisualService.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64
Building for debugging...
[Planning deferred tasks]
[19 / 28]
[20 / 29] AudioVisualService
[30 / 116]
[33 / 116]
[41 / 116]
[43 / 116]
[44 / 116]
[50 / 116]
[52 / 116]
[56 / 116]
[62 / 116]
[65 / 116]
[67 / 116]
[68 / 116]
[80 / 116]
[83 / 116]
[85 / 116]
[88 / 116]
[93 / 116]
[94 / 116]
[95 / 116]
[96 / 116]
[107 / 116] AudioVisualService
[108 / 116] AudioVisualService
[113 / 116] AudioVisualService
Build complete! (11.62 sec)
macro expansion @ObservationTracked:2:14: warning: stored property '_player' of 'Sendable'-conforming class 'AudioVisualService' is mutable; this is an error in the Swift 6 language mode
`- /Users/admin/builder/spi-builder-workspace/Sources/AudioVisualService/AudioVisualService.swift:15:33: note: expanded code originates here
 13 | @Observable
 14 | public final class AudioVisualService: Sendable {
 15 |     public var player: AVPlayer?
    +--- macro expansion @ObservationTracked ---------------------------
    |1 | @ObservationIgnored
    |2 | private  var _player: AVPlayer?
    |  |              `- warning: stored property '_player' of 'Sendable'-conforming class 'AudioVisualService' is mutable; this is an error in the Swift 6 language mode
    +-------------------------------------------------------------------
 16 |     public var time: CMTime = .zero
 17 |     public var duration: CMTime = .zero
/Users/admin/builder/spi-builder-workspace/Sources/AudioVisualService/CacheManager/CacheManager.swift:54:9: warning: stored property 'cachedCodableURLResponse' of 'Sendable'-conforming class 'CacheManager' is mutable; this is an error in the Swift 6 language mode
 52 |     /// This property holds the decoded `CodableURLResponse` containing information
 53 |     /// about the video's content length, MIME type, and cached data ranges.
 54 |     var cachedCodableURLResponse: CodableURLResponse? = nil
    |         `- warning: stored property 'cachedCodableURLResponse' of 'Sendable'-conforming class 'CacheManager' is mutable; this is an error in the Swift 6 language mode
 55 |
 56 |     /// The maximum duration to retain cached files before automatic cleanup.
/Users/admin/builder/spi-builder-workspace/Sources/AudioVisualService/CacheManager/CacheManager+Helpers.swift:80:44: warning: instance method 'makeIterator' is unavailable from asynchronous contexts; this is an error in the Swift 6 language mode
78 |
79 |             var cacheFiles: [(fileURL: URL, modificationDate: Date)] = []
80 |             for case let fileURL as URL in enumerator {
   |                                            `- warning: instance method 'makeIterator' is unavailable from asynchronous contexts; this is an error in the Swift 6 language mode
81 |                 guard let resourceValues = try? fileURL.resourceValues(forKeys: Set(resourceKeys)) else { continue }
82 |                 guard resourceValues.isDirectory == false else { continue }
/Users/admin/builder/spi-builder-workspace/Sources/AudioVisualService/CacheManager/CacheManager.swift:54:9: warning: stored property 'cachedCodableURLResponse' of 'Sendable'-conforming class 'CacheManager' is mutable; this is an error in the Swift 6 language mode
 52 |     /// This property holds the decoded `CodableURLResponse` containing information
 53 |     /// about the video's content length, MIME type, and cached data ranges.
 54 |     var cachedCodableURLResponse: CodableURLResponse? = nil
    |         `- warning: stored property 'cachedCodableURLResponse' of 'Sendable'-conforming class 'CacheManager' is mutable; this is an error in the Swift 6 language mode
 55 |
 56 |     /// The maximum duration to retain cached files before automatic cleanup.
/Users/admin/builder/spi-builder-workspace/Sources/AudioVisualService/Utilities/AudioTapProcessor.swift:21:13: warning: initialization of variable 'callbacks' was never used; consider replacing with assignment to '_' or removing it [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-usage\NoUsage]8;;\]
 19 |         super.init()
 20 |
 21 |         var callbacks = MTAudioProcessingTapCallbacks(
    |             `- warning: initialization of variable 'callbacks' was never used; consider replacing with assignment to '_' or removing it [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-usage\NoUsage]8;;\]
 22 |             version: kMTAudioProcessingTapCallbacksVersion_0,
 23 |             clientInfo: UnsafeMutableRawPointer(Unmanaged.passRetained(self).toOpaque()),
[#NoUsage]: <https://docs.swift.org/compiler/documentation/diagnostics/no-usage>
/Users/admin/builder/spi-builder-workspace/Sources/AudioVisualService/ResourceLoaderDelegate/ResourceLoader.swift:59:9: warning: actor-isolated instance method 'invalidate()' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
56 |     }
57 |
58 |     deinit {
   |     `- note: add 'isolated' to run isolated to 'ResourceLoader', which may be later than 'nonisolated deinit'
59 |         invalidate()
   |         `- warning: actor-isolated instance method 'invalidate()' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
60 |     }
61 |
   :
65 |     /// It ensures that all loading requests are properly completed and any ongoing
66 |     /// network operations are cancelled. The URL session is also invalidated.
67 |     public func invalidate() {
   |                 `- note: calls to instance method 'invalidate()' from outside of its actor context are implicitly asynchronous
68 |         let pendingRequests = pendingRequests
69 |         self.loadingRequests.forEach {
macro expansion @ObservationTracked:2:14: warning: stored property '_player' of 'Sendable'-conforming class 'AudioVisualService' is mutable; this is an error in the Swift 6 language mode
`- /Users/admin/builder/spi-builder-workspace/Sources/AudioVisualService/AudioVisualService.swift:15:33: note: expanded code originates here
 13 | @Observable
 14 | public final class AudioVisualService: Sendable {
 15 |     public var player: AVPlayer?
    +--- macro expansion @ObservationTracked ---------------------------
    |1 | @ObservationIgnored
    |2 | private  var _player: AVPlayer?
    |  |              `- warning: stored property '_player' of 'Sendable'-conforming class 'AudioVisualService' is mutable; this is an error in the Swift 6 language mode
    +-------------------------------------------------------------------
 16 |     public var time: CMTime = .zero
 17 |     public var duration: CMTime = .zero
/Users/admin/builder/spi-builder-workspace/Sources/AudioVisualService/AudioVisualService.swift:93:26: warning: call to main actor-isolated initializer 'init(url:automaticallyLoadedAssetKeys:serviceDelegate:)' in a synchronous nonisolated context [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/actor-isolated-call\ActorIsolatedCall]8;;\]
 90 |     }
 91 |
 92 |     private func createAVPlayer(using url: URL) -> AVPlayer {
    |                  `- note: add '@MainActor' to make instance method 'createAVPlayer(using:)' part of global actor 'MainActor'
 93 |         let playerItem = CachingPlayerItem(url: url)
    |                          `- warning: call to main actor-isolated initializer 'init(url:automaticallyLoadedAssetKeys:serviceDelegate:)' in a synchronous nonisolated context [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/actor-isolated-call\ActorIsolatedCall]8;;\]
 94 |         let player = AVPlayer(playerItem: playerItem)
 95 |         player.currentItem?.canUseNetworkResourcesForLiveStreamingWhilePaused = true
/Users/admin/builder/spi-builder-workspace/Sources/AudioVisualService/Helpers/CachingPlayerItem.swift:41:12: note: calls to initializer 'init(url:automaticallyLoadedAssetKeys:serviceDelegate:)' from outside of its actor context are implicitly asynchronous
39 |     ///   - automaticallyLoadedAssetKeys: Optional array of asset keys to load automatically.
40 |     ///   - serviceDelegate: An optional delegate to receive caching and loading events.
41 |     public init(
   |            |- note: calls to initializer 'init(url:automaticallyLoadedAssetKeys:serviceDelegate:)' from outside of its actor context are implicitly asynchronous
   |            `- note: main actor isolation inferred from inheritance from class 'AVPlayerItem'
42 |         url: URL,
43 |         automaticallyLoadedAssetKeys: [String]? = ["duration", "isPlayable"],
[#ActorIsolatedCall]: <https://docs.swift.org/compiler/documentation/diagnostics/actor-isolated-call>
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "AudioVisualService",
  "name" : "AudioVisualService",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "AudioVisualService",
      "targets" : [
        "AudioVisualService"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "AudioVisualServiceTests",
      "module_type" : "SwiftTarget",
      "name" : "AudioVisualServiceTests",
      "path" : "Tests/AudioVisualServiceTests",
      "sources" : [
        "CachingPlayerItemTests.swift"
      ],
      "target_dependencies" : [
        "AudioVisualService"
      ],
      "type" : "test"
    },
    {
      "c99name" : "AudioVisualService",
      "module_type" : "SwiftTarget",
      "name" : "AudioVisualService",
      "path" : "Sources/AudioVisualService",
      "product_memberships" : [
        "AudioVisualService"
      ],
      "sources" : [
        "AudioVisualService.swift",
        "AudioVisualServiceDelegate.swift",
        "CacheManager/CacheManager+CachedResponse.swift",
        "CacheManager/CacheManager+Data.swift",
        "CacheManager/CacheManager+DataRange.swift",
        "CacheManager/CacheManager+Helpers.swift",
        "CacheManager/CacheManager.swift",
        "CacheManager/CodableURLResponse.swift",
        "Extensions/URL+md5String.swift",
        "Helpers/CachingAVURLAsset.swift",
        "Helpers/CachingPlayerItem.swift",
        "NowPlayable/AVS+NowPlayable.swift",
        "NowPlayable/IOSNowPlayableBehavior.swift",
        "NowPlayable/NowPlayable.swift",
        "NowPlayable/NowPlayableCommand.swift",
        "NowPlayable/NowPlayableError.swift",
        "NowPlayable/NowPlayableMetadata.swift",
        "ResourceLoaderDelegate/ContentInformationRequest.swift",
        "ResourceLoaderDelegate/DataRequest.swift",
        "ResourceLoaderDelegate/LoadingRequest.swift",
        "ResourceLoaderDelegate/ResourceLoader+Delegate.swift",
        "ResourceLoaderDelegate/ResourceLoader.swift",
        "Utilities/AudioTapProcessor.swift",
        "Utilities/Preloader.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.8"
}
Done.