The Swift Package Index logo.Swift Package Index

Build Information

Successful build of YouTubePlayerKit, reference 2.0.5 (1ae827), with Swift 6.4 for macOS (SPM) on 23 Sep 2026 12:11:28 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/SvenTiigi/YouTubePlayerKit.git
Reference: 2.0.5
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/SvenTiigi/YouTubePlayerKit
 * tag               2.0.5      -> FETCH_HEAD
HEAD is now at 1ae8275 Update the default origin URL to use the bundle identifier as the host
Cloned https://github.com/SvenTiigi/YouTubePlayerKit.git
Revision (git rev-parse @):
1ae827573024ab13dd6adea33b25d3eef6ff667c
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/SvenTiigi/YouTubePlayerKit.git at 2.0.5
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.4
Building package at path:  $PWD
https://github.com/SvenTiigi/YouTubePlayerKit.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] YouTubePlayerKit
[30 / 110]
[33 / 110]
[41 / 110]
[43 / 110]
[44 / 110]
[49 / 110]
[51 / 110]
[53 / 110]
[57 / 110]
[62 / 110]
[65 / 110]
[67 / 110]
[68 / 110]
[80 / 110]
[82 / 110]
[83 / 110]
[86 / 110]
[88 / 110]
[90 / 110]
[101 / 110] YouTubePlayerKit
[102 / 110] YouTubePlayerKit
[107 / 110] YouTubePlayerKit
Build complete! (11.82 sec)
/Users/admin/builder/spi-builder-workspace/Sources/API/YouTubePlayer+PlaybackAPI.swift:164:34: warning: 'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture\ImplicitStrongCapture]8;;\]
160 |                     .map { _ in }
161 |             )
162 |             .flatMap { _ in
    |                      |- note: 'self' implicitly strongly captured here
    |                      `- note: add 'self' as a capture list item to silence
163 |                 Future { promise in
164 |                     Task { [weak self] in
    |                                  |- warning: 'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture\ImplicitStrongCapture]8;;\]
    |                                  `- note: explicitly assign the capture list item to silence
165 |                         guard let playbackMetadata = try? await self?.getPlaybackMetadata() else {
166 |                             return
/Users/admin/builder/spi-builder-workspace/Sources/API/YouTubePlayer+PlaybackAPI.swift:356:26: warning: 'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture\ImplicitStrongCapture]8;;\]
353 |     /// A Publisher that emits the current YouTube player playback rate.
354 |     var playbackRatePublisher: some Publisher<PlaybackRate, Never> {
355 |         Future { promise in
    |                |- note: 'self' implicitly strongly captured here
    |                `- note: add 'self' as a capture list item to silence
356 |             Task { [weak self] in
    |                          |- warning: 'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture\ImplicitStrongCapture]8;;\]
    |                          `- note: explicitly assign the capture list item to silence
357 |                 guard let playbackRate = try? await self?.getPlaybackRate() else {
358 |                     return
/Users/admin/builder/spi-builder-workspace/Sources/API/YouTubePlayer+PlaybackAPI.swift:492:34: warning: 'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture\ImplicitStrongCapture]8;;\]
488 |                     .map { _ in }
489 |             )
490 |             .flatMap { _ in
    |                      |- note: 'self' implicitly strongly captured here
    |                      `- note: add 'self' as a capture list item to silence
491 |                 Future { promise in
492 |                     Task { [weak self] in
    |                                  |- warning: 'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture\ImplicitStrongCapture]8;;\]
    |                                  `- note: explicitly assign the capture list item to silence
493 |                         guard let duration = try? await self?.getDuration() else {
494 |                             return
[#ImplicitStrongCapture]: <https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture>
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "YouTubePlayerKit",
  "name" : "YouTubePlayerKit",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "15.0"
    },
    {
      "name" : "macos",
      "version" : "12.0"
    },
    {
      "name" : "visionos",
      "version" : "1.0"
    }
  ],
  "products" : [
    {
      "name" : "YouTubePlayerKit",
      "targets" : [
        "YouTubePlayerKit"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "YouTubePlayerKitTests",
      "module_type" : "SwiftTarget",
      "name" : "YouTubePlayerKitTests",
      "path" : "Tests",
      "sources" : [
        "YouTubePlayerJavaScriptTests.swift",
        "YouTubePlayerSourceTests.swift",
        "YouTubePlayerTests.swift",
        "YouTubeVideoThumbnailTests.swift"
      ],
      "target_dependencies" : [
        "YouTubePlayerKit"
      ],
      "type" : "test"
    },
    {
      "c99name" : "YouTubePlayerKit",
      "module_type" : "SwiftTarget",
      "name" : "YouTubePlayerKit",
      "path" : "Sources",
      "product_memberships" : [
        "YouTubePlayerKit"
      ],
      "sources" : [
        "API/YouTubePlayer+API.swift",
        "API/YouTubePlayer+CaptionsAPI.swift",
        "API/YouTubePlayer+ModuleAPI.swift",
        "API/YouTubePlayer+PlaybackAPI.swift",
        "API/YouTubePlayer+PlaylistAPI.swift",
        "API/YouTubePlayer+QueueingAPI.swift",
        "API/YouTubePlayer+VideoThumbnailAPI.swift",
        "API/YouTubePlayer+VolumeAPI.swift",
        "Models/Captions/YouTubePlayer+CaptionsFontSize.swift",
        "Models/Captions/YouTubePlayer+CaptionsLanguageCode.swift",
        "Models/Captions/YouTubePlayer+CaptionsTranslationLanguage.swift",
        "Models/Captions/YouTubePlayer+CationsTrack.swift",
        "Models/Error/YouTubePlayer+APIError.swift",
        "Models/Error/YouTubePlayer+Error.swift",
        "Models/Event/YouTubePlayer+Event+Data.swift",
        "Models/Event/YouTubePlayer+Event+Name.swift",
        "Models/Event/YouTubePlayer+Event.swift",
        "Models/JavaScript/YouTubePlayer+JavaScript.swift",
        "Models/JavaScript/YouTubePlayer+JavaScriptEvaluationResponseConverter.swift",
        "Models/Module/YouTubePlayer+Module+Option.swift",
        "Models/Module/YouTubePlayer+Module.swift",
        "Models/Playback/YouTubePlayer+PlaybackMetadata.swift",
        "Models/Playback/YouTubePlayer+PlaybackQuality.swift",
        "Models/Playback/YouTubePlayer+PlaybackRate.swift",
        "Models/Playback/YouTubePlayer+PlaybackState.swift",
        "Models/YouTubePlayer+Configuration.swift",
        "Models/YouTubePlayer+FullscreenMode.swift",
        "Models/YouTubePlayer+FullscreenState.swift",
        "Models/YouTubePlayer+HTMLBuilder.swift",
        "Models/YouTubePlayer+Information.swift",
        "Models/YouTubePlayer+OpenURLAction.swift",
        "Models/YouTubePlayer+Options.swift",
        "Models/YouTubePlayer+Parameters.swift",
        "Models/YouTubePlayer+Source.swift",
        "Models/YouTubePlayer+State.swift",
        "Models/YouTubePlayer+VolumeState.swift",
        "Shared/ExpressibleByURL.swift",
        "UI/HostingView/YouTubePlayerHostingView.swift",
        "UI/View/YouTubePlayerView+Init.swift",
        "UI/View/YouTubePlayerView.swift",
        "UI/ViewController/YouTubePlayerViewController.swift",
        "VideoThumbnail/YouTubeVideoThumbnail.swift",
        "WebView/YouTubePlayerWebView+Evaluate.swift",
        "WebView/YouTubePlayerWebView+Event.swift",
        "WebView/YouTubePlayerWebView+WKNavigationDelegate.swift",
        "WebView/YouTubePlayerWebView+WKUIDelegate.swift",
        "WebView/YouTubePlayerWebView.swift",
        "YouTubePlayer.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "6.0"
}
Done.