The Swift Package Index logo.Swift Package Index

Build Information

Successful build of YouTubeKit, reference main (6532af), with Swift 6.4 for macOS (SPM) on 25 Sep 2026 20:20:02 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/b5i/YouTubeKit.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/b5i/YouTubeKit
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at 6532af3 feat: add support for storyboards and more
Cloned https://github.com/b5i/YouTubeKit.git
Revision (git rev-parse @):
6532af39da4c1612b0a1af603792419d8fb0e67f
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/b5i/YouTubeKit.git at main
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.4
Building package at path:  $PWD
https://github.com/b5i/YouTubeKit.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64
Building for debugging...
[Pre-planning 1 / 95]
[Planning deferred tasks]
[31 / 41] YouTubeKit_YouTubeKit
[32 / 41]
[33 / 42] YouTubeKit
[43 / 90]
[48 / 90]
[52 / 90]
[53 / 90]
[57 / 90]
[59 / 90]
[62 / 90]
[65 / 90]
[68 / 90]
[69 / 90]
[81 / 90] YouTubeKit
[82 / 90] YouTubeKit
Build complete! (8.80 sec)
/Users/admin/builder/spi-builder-workspace/Sources/YouTubeKit/YouTubeModel.swift:1794:1: warning: extension declares a conformance of imported type 'String' to imported protocols 'LocalizedError', 'Error'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
1792 | }
1793 | #else
1794 | extension String: LocalizedError {
     | |- warning: extension declares a conformance of imported type 'String' to imported protocols 'LocalizedError', 'Error'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
     | `- note: add '@retroactive' to silence this warning
1795 |     public var errorDescription: String? { self }
1796 | }
/Users/admin/builder/spi-builder-workspace/Sources/YouTubeKit/YouTubeModel.swift:1794:1: warning: extension declares a conformance of imported type 'String' to imported protocols 'LocalizedError', 'Error'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
1792 | }
1793 | #else
1794 | extension String: LocalizedError {
     | |- warning: extension declares a conformance of imported type 'String' to imported protocols 'LocalizedError', 'Error'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
     | `- note: add '@retroactive' to silence this warning
1795 |     public var errorDescription: String? { self }
1796 | }
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "YouTubeKit",
  "name" : "YouTubeKit",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "YouTubeKit",
      "targets" : [
        "YouTubeKit"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "YouTubeKitTests",
      "module_type" : "SwiftTarget",
      "name" : "YouTubeKitTests",
      "path" : "Tests/YouTubeKitTests",
      "sources" : [
        "YouTubeKitTests.swift"
      ],
      "target_dependencies" : [
        "YouTubeKit"
      ],
      "type" : "test"
    },
    {
      "c99name" : "YouTubeKit",
      "module_type" : "SwiftTarget",
      "name" : "YouTubeKit",
      "path" : "Sources/YouTubeKit",
      "product_memberships" : [
        "YouTubeKit"
      ],
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/YouTubeKit/JavaScript",
          "rule" : {
            "copy" : {
            }
          }
        }
      ],
      "sources" : [
        "BaseEnums/YTLikeStatus.swift",
        "BaseEnums/YTPrivacy.swift",
        "BaseProtocols/Channel/YouTubeChannel+fetchInfos.swift",
        "BaseProtocols/Channel/YouTubeChannel+subscribeActions.swift",
        "BaseProtocols/Channel/YouTubeChannel.swift",
        "BaseProtocols/Continuation/AuthenticatedContinuableResponse+fetchContinuation.swift",
        "BaseProtocols/Continuation/AuthenticatedContinuableResponse.swift",
        "BaseProtocols/Continuation/ContinuableResponse+fetchContinuation.swift",
        "BaseProtocols/Continuation/ContinuableResponse+mergeContinuation.swift",
        "BaseProtocols/Continuation/ContinuableResponse.swift",
        "BaseProtocols/Continuation/ResponseContinuation.swift",
        "BaseProtocols/Video/YouTubeVideo+fetchAllPossibleHostPlaylists.swift",
        "BaseProtocols/Video/YouTubeVideo+fetchMoreInfos.swift",
        "BaseProtocols/Video/YouTubeVideo+fetchStreamingInfos.swift",
        "BaseProtocols/Video/YouTubeVideo+fetchStreamingInfosWithDownloadFormats.swift",
        "BaseProtocols/Video/YouTubeVideo+getCaptions.swift",
        "BaseProtocols/Video/YouTubeVideo+likeActions.swift",
        "BaseProtocols/Video/YouTubeVideo.swift",
        "BaseStructs/YTCaption.swift",
        "BaseStructs/YTChannel.swift",
        "BaseStructs/YTComment+actions.swift",
        "BaseStructs/YTComment.swift",
        "BaseStructs/YTLittleChannelInfos.swift",
        "BaseStructs/YTPlaylist+canShowBeDecoded.swift",
        "BaseStructs/YTPlaylist+decodeShowFromJSON.swift",
        "BaseStructs/YTPlaylist+fetchVideos.swift",
        "BaseStructs/YTPlaylist.swift",
        "BaseStructs/YTStoryboard.swift",
        "BaseStructs/YTThumbnail.swift",
        "BaseStructs/YTVideo+decodeShortFromJSON.swift",
        "BaseStructs/YTVideo+decodeVideoFromPlaylist.swift",
        "BaseStructs/YTVideo+timeStringToSeconds.swift",
        "BaseStructs/YTVideo.swift",
        "ErrorHandling/ErrorTypes/BadRequestDataError.swift",
        "ErrorHandling/ErrorTypes/NetworkError.swift",
        "ErrorHandling/ErrorTypes/ResponseExtractionError.swift",
        "ErrorHandling/ParameterValidator+commonValidators.swift",
        "ErrorHandling/ParameterValidator.swift",
        "HeaderTypes+Hashable.swift",
        "HeaderTypes+RawRepresentable.swift",
        "HeaderTypes.swift",
        "HeadersList.swift",
        "Logging/RequestLog.swift",
        "Logging/RequestLogger+defaultImplementations.swift",
        "Logging/RequestsLogger.swift",
        "SwiftyJSON/SwiftyJSON.swift",
        "URL+AppendQueryItems.swift",
        "Utils/Array+inoutMap.swift",
        "Utils/String+ytkRegexMatches.swift",
        "YouTubeModel.swift",
        "YouTubeResponse.swift",
        "YouTubeResponseTypes/AuthenticatedResponses/AccountResponses/AccountInfosResponse.swift",
        "YouTubeResponseTypes/AuthenticatedResponses/AccountResponses/AccountLibraryResponse.swift",
        "YouTubeResponseTypes/AuthenticatedResponses/AccountResponses/AccountPlaylistsResponse.swift",
        "YouTubeResponseTypes/AuthenticatedResponses/AccountResponses/AccountSubscriptionsFeedResponse.swift",
        "YouTubeResponseTypes/AuthenticatedResponses/AccountResponses/AccountSubscriptionsResponse.swift",
        "YouTubeResponseTypes/AuthenticatedResponses/AuthenticatedResponse.swift",
        "YouTubeResponseTypes/AuthenticatedResponses/ChannelsActions/SubscribeChannelResponse.swift",
        "YouTubeResponseTypes/AuthenticatedResponses/ChannelsActions/UnsubscribeChannelResponse.swift",
        "YouTubeResponseTypes/AuthenticatedResponses/CommentsActions/CreateCommentResponse.swift",
        "YouTubeResponseTypes/AuthenticatedResponses/CommentsActions/DeleteCommentResponse.swift",
        "YouTubeResponseTypes/AuthenticatedResponses/CommentsActions/DislikeCommentResponse.swift",
        "YouTubeResponseTypes/AuthenticatedResponses/CommentsActions/EditCommentResponse.swift",
        "YouTubeResponseTypes/AuthenticatedResponses/CommentsActions/EditReplyCommandResponse.swift",
        "YouTubeResponseTypes/AuthenticatedResponses/CommentsActions/LikeCommentResponse.swift",
        "YouTubeResponseTypes/AuthenticatedResponses/CommentsActions/RemoveDislikeCommentResponse.swift",
        "YouTubeResponseTypes/AuthenticatedResponses/CommentsActions/RemoveLikeCommentResponse.swift",
        "YouTubeResponseTypes/AuthenticatedResponses/CommentsActions/ReplyCommentResponse.swift",
        "YouTubeResponseTypes/AuthenticatedResponses/HistoryActions/HistoryBlockContent.swift",
        "YouTubeResponseTypes/AuthenticatedResponses/HistoryActions/HistoryReponse+removeVideo.swift",
        "YouTubeResponseTypes/AuthenticatedResponses/HistoryActions/HistoryResponse.swift",
        "YouTubeResponseTypes/AuthenticatedResponses/HistoryActions/RemoveVideoFromHistroryResponse.swift",
        "YouTubeResponseTypes/AuthenticatedResponses/PlaylistsActions/AddVideoToPlaylistResponse.swift",
        "YouTubeResponseTypes/AuthenticatedResponses/PlaylistsActions/AllPossibleHostPlaylistsResponse.swift",
        "YouTubeResponseTypes/AuthenticatedResponses/PlaylistsActions/CreatePlaylistResponse.swift",
        "YouTubeResponseTypes/AuthenticatedResponses/PlaylistsActions/DeletePlaylistResponse.swift",
        "YouTubeResponseTypes/AuthenticatedResponses/PlaylistsActions/MoveVideoInPlaylistResponse.swift",
        "YouTubeResponseTypes/AuthenticatedResponses/PlaylistsActions/RemoveVideoByIdFromPlaylistResponse.swift",
        "YouTubeResponseTypes/AuthenticatedResponses/PlaylistsActions/RemoveVideoFromPlaylistResponse.swift",
        "YouTubeResponseTypes/AuthenticatedResponses/SimpleOperationAuthenticatedResponse.swift",
        "YouTubeResponseTypes/AuthenticatedResponses/VideosActions/DislikeVideoResponse.swift",
        "YouTubeResponseTypes/AuthenticatedResponses/VideosActions/LikeVideoResponse.swift",
        "YouTubeResponseTypes/AuthenticatedResponses/VideosActions/RemoveLikeFromVideoResponse.swift",
        "YouTubeResponseTypes/AutoCompletion/AutoCompletionResponse.swift",
        "YouTubeResponseTypes/ChannelInfos/ChannelContent+canDecode.swift",
        "YouTubeResponseTypes/ChannelInfos/ChannelContent+decodeJSONFromTab.swift",
        "YouTubeResponseTypes/ChannelInfos/ChannelContent+getContinuationFromTab.swift",
        "YouTubeResponseTypes/ChannelInfos/ChannelContent.swift",
        "YouTubeResponseTypes/ChannelInfos/ChannelInfosResponse.swift",
        "YouTubeResponseTypes/ChannelInfos/ListableChannelContent+addChannelInfos.swift",
        "YouTubeResponseTypes/ChannelInfos/ListableChannelContent.swift",
        "YouTubeResponseTypes/Home/HomeScreenResponse.swift",
        "YouTubeResponseTypes/PlaylistInfos/PlaylistInfosResponse.swift",
        "YouTubeResponseTypes/Search/SearchResponse.swift",
        "YouTubeResponseTypes/Search/YTSearchResult+canBeDecoded.swift",
        "YouTubeResponseTypes/Search/YTSearchResult+decodeJSON.swift",
        "YouTubeResponseTypes/Search/YTSearchResult+filterTypes.swift",
        "YouTubeResponseTypes/Search/YTSearchResult.swift",
        "YouTubeResponseTypes/Search/YTSearchResultType.swift",
        "YouTubeResponseTypes/Trending/TrendingVideosResponse.swift",
        "YouTubeResponseTypes/VideoInfos/AudioOnlyFormat.swift",
        "YouTubeResponseTypes/VideoInfos/CommentTranslationResponse.swift",
        "YouTubeResponseTypes/VideoInfos/DownloadFormat.swift",
        "YouTubeResponseTypes/VideoInfos/EndScreen.swift",
        "YouTubeResponseTypes/VideoInfos/EndScreenElement.swift",
        "YouTubeResponseTypes/VideoInfos/MediaType.swift",
        "YouTubeResponseTypes/VideoInfos/MoreVideoInfosResponse.swift",
        "YouTubeResponseTypes/VideoInfos/PlayerProcessing.swift",
        "YouTubeResponseTypes/VideoInfos/VideoCaptionsResponse.swift",
        "YouTubeResponseTypes/VideoInfos/VideoCommentsResponse.swift",
        "YouTubeResponseTypes/VideoInfos/VideoDownloadFormat.swift",
        "YouTubeResponseTypes/VideoInfos/VideoInfosResponse.swift",
        "YouTubeResponseTypes/VideoInfos/VideoInfosWithDownloadFormatsResponse.swift",
        "[URLQueryItem]+makeUnique.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.7"
}
Done.