Build Information
Failed to build KKBOXOpenAPISwift, reference 1.1.7 (91650c), with Swift 6.3 for Wasm on 10 Apr 2026 18:52:57 UTC.
Build Command
bash -c docker run --pull=always --rm -v "checkouts-4606859-2":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/swiftpackageindex/spi-images:wasm-6.3-latest swift build --swift-sdk swift-6.3-RELEASE_wasm 2>&1Build Log
========================================
RunAll
========================================
Builder version: 4.70.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/KKBOX/OpenAPI-Swift.git
Reference: 1.1.7
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: git branch -m <name>
From https://github.com/KKBOX/OpenAPI-Swift
* tag 1.1.7 -> FETCH_HEAD
HEAD is now at 91650c3 Bumps to 1.1.7.
Cloned https://github.com/KKBOX/OpenAPI-Swift.git
Revision (git rev-parse @):
91650c30e578854e1815a0119e6da8c735c02ba9
SUCCESS checkout https://github.com/KKBOX/OpenAPI-Swift.git at 1.1.7
========================================
Build
========================================
Selected platform: wasm
Swift version: 6.3
Building package at path: $PWD
https://github.com/KKBOX/OpenAPI-Swift.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-2":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/swiftpackageindex/spi-images:wasm-6.3-latest swift build --swift-sdk swift-6.3-RELEASE_wasm 2>&1
wasm-6.3-latest: Pulling from swiftpackageindex/spi-images
Digest: sha256:d69f4e7582c319245442d62a08b2d7c7fd5a0c0c69f5d2ef11d1530cd8d3329b
Status: Image is up to date for registry.gitlab.com/swiftpackageindex/spi-images:wasm-6.3-latest
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-24593BA9C3E375BF.txt
error: emit-module command failed with exit code 1 (use -v to see invocation)
[3/6] Compiling KKBOXOpenAPISwift KKBOXOpenAPIPrivateTypes.swift
[4/6] Compiling KKBOXOpenAPISwift KKBOXOpenAPITypes.swift
[5/6] Emitting module KKBOXOpenAPISwift
/host/spi-builder-workspace/Sources/KKBOXOpenAPISwift/KKBOXOpenAPI.swift:83:20: warning: static property 'none' produces an empty option set
81 |
82 | public let rawValue: Int
83 | public static let none = KKSearchType(rawValue: 0)
| |- warning: static property 'none' produces an empty option set
| `- note: use [] to silence this warning
84 | /// Specify that we are searching for artists.
85 | public static let artist = KKSearchType(rawValue: 1 << 0)
/host/spi-builder-workspace/Sources/KKBOXOpenAPISwift/KKBOXOpenAPI.swift:142:20: warning: static property 'none' produces an empty option set
140 | public let rawValue: Int
141 | /// Your client does not request any additional permission.
142 | public static let none = KKScope(rawValue: 0)
| |- warning: static property 'none' produces an empty option set
| `- note: use [] to silence this warning
143 | /// Your client requests the permission to access user profiles.
144 | public static let userProfile = KKScope(rawValue: 1 << 0)
/host/spi-builder-workspace/Sources/KKBOXOpenAPISwift/KKBOXOpenAPI.swift:247:32: error: no exact matches in call to instance method 'post'
245 | didSet {
246 | if self.accessToken == nil {
247 | NotificationCenter.default.post(name: .KKBOXOpenAPIDidLogout, object: self)
| `- error: no exact matches in call to instance method 'post'
248 | } else {
249 | NotificationCenter.default.post(name: .KKBOXOpenAPIDidLogin, object: self)
FoundationEssentials.NotificationCenter.post:2:13: note: incorrect labels for candidate (have: '(name:object:)', expected: '(_:subject:)')
1 | class NotificationCenter {
2 | public func post<Message>(_ message: Message, subject: Message.Subject) where Message : NotificationCenter.AsyncMessage, Message.Subject : AnyObject}
| `- note: incorrect labels for candidate (have: '(name:object:)', expected: '(_:subject:)')
3 |
FoundationEssentials.NotificationCenter.post:2:13: note: candidate '(_) -> ()' has 2 parameters, but context '(Message) -> ()' has 1
1 | class NotificationCenter {
2 | public func post<Message>(_ message: Message) where Message : NotificationCenter.AsyncMessage}
| `- note: candidate '(_) -> ()' has 2 parameters, but context '(Message) -> ()' has 1
3 |
FoundationEssentials.NotificationCenter.post:2:24: note: incorrect labels for candidate (have: '(name:object:)', expected: '(_:subject:)')
1 | class NotificationCenter {
2 | @MainActor public func post<Message>(_ message: Message, subject: Message.Subject) where Message : NotificationCenter.MainActorMessage, Message.Subject : AnyObject}
| `- note: incorrect labels for candidate (have: '(name:object:)', expected: '(_:subject:)')
3 |
FoundationEssentials.NotificationCenter.post:2:24: note: candidate '@MainActor (_) -> ()' has 2 parameters, but context '@MainActor (Message) -> ()' has 1
1 | class NotificationCenter {
2 | @MainActor public func post<Message>(_ message: Message) where Message : NotificationCenter.MainActorMessage}
| `- note: candidate '@MainActor (_) -> ()' has 2 parameters, but context '@MainActor (Message) -> ()' has 1
3 |
/host/spi-builder-workspace/Sources/KKBOXOpenAPISwift/KKBOXOpenAPI.swift:247:44: error: reference to member 'KKBOXOpenAPIDidLogout' cannot be resolved without a contextual type
245 | didSet {
246 | if self.accessToken == nil {
247 | NotificationCenter.default.post(name: .KKBOXOpenAPIDidLogout, object: self)
| `- error: reference to member 'KKBOXOpenAPIDidLogout' cannot be resolved without a contextual type
248 | } else {
249 | NotificationCenter.default.post(name: .KKBOXOpenAPIDidLogin, object: self)
/host/spi-builder-workspace/Sources/KKBOXOpenAPISwift/KKBOXOpenAPI.swift:249:32: error: no exact matches in call to instance method 'post'
247 | NotificationCenter.default.post(name: .KKBOXOpenAPIDidLogout, object: self)
248 | } else {
249 | NotificationCenter.default.post(name: .KKBOXOpenAPIDidLogin, object: self)
| `- error: no exact matches in call to instance method 'post'
250 | }
251 | }
FoundationEssentials.NotificationCenter.post:2:13: note: incorrect labels for candidate (have: '(name:object:)', expected: '(_:subject:)')
1 | class NotificationCenter {
2 | public func post<Message>(_ message: Message, subject: Message.Subject) where Message : NotificationCenter.AsyncMessage, Message.Subject : AnyObject}
| `- note: incorrect labels for candidate (have: '(name:object:)', expected: '(_:subject:)')
3 |
FoundationEssentials.NotificationCenter.post:2:13: note: candidate '(_) -> ()' has 2 parameters, but context '(Message) -> ()' has 1
1 | class NotificationCenter {
2 | public func post<Message>(_ message: Message) where Message : NotificationCenter.AsyncMessage}
| `- note: candidate '(_) -> ()' has 2 parameters, but context '(Message) -> ()' has 1
3 |
FoundationEssentials.NotificationCenter.post:2:24: note: incorrect labels for candidate (have: '(name:object:)', expected: '(_:subject:)')
1 | class NotificationCenter {
2 | @MainActor public func post<Message>(_ message: Message, subject: Message.Subject) where Message : NotificationCenter.MainActorMessage, Message.Subject : AnyObject}
| `- note: incorrect labels for candidate (have: '(name:object:)', expected: '(_:subject:)')
3 |
FoundationEssentials.NotificationCenter.post:2:24: note: candidate '@MainActor (_) -> ()' has 2 parameters, but context '@MainActor (Message) -> ()' has 1
1 | class NotificationCenter {
2 | @MainActor public func post<Message>(_ message: Message) where Message : NotificationCenter.MainActorMessage}
| `- note: candidate '@MainActor (_) -> ()' has 2 parameters, but context '@MainActor (Message) -> ()' has 1
3 |
/host/spi-builder-workspace/Sources/KKBOXOpenAPISwift/KKBOXOpenAPI.swift:249:44: error: reference to member 'KKBOXOpenAPIDidLogin' cannot be resolved without a contextual type
247 | NotificationCenter.default.post(name: .KKBOXOpenAPIDidLogout, object: self)
248 | } else {
249 | NotificationCenter.default.post(name: .KKBOXOpenAPIDidLogin, object: self)
| `- error: reference to member 'KKBOXOpenAPIDidLogin' cannot be resolved without a contextual type
250 | }
251 | }
/host/spi-builder-workspace/Sources/KKBOXOpenAPISwift/KKBOXOpenAPI.swift:301:125: error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
299 | /// - Returns: A URLSessionTask that you can use it to cancel current fetch.
300 | /// - Throws: KKBOXOpenAPIError.failedToCreateClientCredential
301 | public func fetchAccessTokenByClientCredential(callback: @escaping (_ result: KKAPIResult<KKAccessToken>) -> ()) throws -> URLSessionTask {
| `- error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
302 | func makeClientCredential() -> String? {
303 | let base = "\(self.clientID):\(self.clientSecret)"
Foundation.URLSessionTask:2:18: note: 'URLSessionTask' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSessionTask = AnyObject
| `- note: 'URLSessionTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/KKBOXOpenAPISwift/KKBOXOpenAPI.swift:335:146: error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
333 | /// - Returns: A URLSessionTask that you can use it to cancel current fetch.
334 | /// - Throws: KKBOXOpenAPIError.requireAccessToken.
335 | public func fetch(track ID: String, territory: KKTerritory = .taiwan, callback: @escaping (_ result: KKAPIResult<KKTrackInfo>) -> ()) throws -> URLSessionTask {
| `- error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
336 | let urlString = "\(KKBOXAPIPath)tracks/\(escape(ID))?territory=\(territory.toString())"
337 | return try self.get(url: URL(string: urlString)!, callback: self.apiDataCallback(callback: callback))
Foundation.URLSessionTask:2:18: note: 'URLSessionTask' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSessionTask = AnyObject
| `- note: 'URLSessionTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/KKBOXOpenAPISwift/KKBOXOpenAPI.swift:356:146: error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
354 | /// - Returns: A URLSessionTask that you can use it to cancel current fetch.
355 | /// - Throws: KKBOXOpenAPIError.requireAccessToken.
356 | public func fetch(album ID: String, territory: KKTerritory = .taiwan, callback: @escaping (_ result: KKAPIResult<KKAlbumInfo>) -> ()) throws -> URLSessionTask {
| `- error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
357 | let urlString = "\(KKBOXAPIPath)albums/\(escape(ID))?territory=\(territory.toString())"
358 | return try self.get(url: URL(string: urlString)!, callback: self.apiDataCallback(callback: callback))
Foundation.URLSessionTask:2:18: note: 'URLSessionTask' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSessionTask = AnyObject
| `- note: 'URLSessionTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/KKBOXOpenAPISwift/KKBOXOpenAPI.swift:372:154: error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
370 | /// - Returns: A URLSessionTask that you can use it to cancel current fetch.
371 | /// - Throws: KKBOXOpenAPIError.requireAccessToken.
372 | public func fetch(tracksInAlbum ID: String, territory: KKTerritory = .taiwan, callback: @escaping (_ result: KKAPIResult<KKTrackList>) -> ()) throws -> URLSessionTask {
| `- error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
373 | let urlString = "\(KKBOXAPIPath)albums/\(escape(ID))/tracks?territory=\(territory.toString())"
374 | return try self.get(url: URL(string: urlString)!, callback: self.apiDataCallback(callback: callback))
Foundation.URLSessionTask:2:18: note: 'URLSessionTask' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSessionTask = AnyObject
| `- note: 'URLSessionTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/KKBOXOpenAPISwift/KKBOXOpenAPI.swift:393:148: error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
391 | /// - Returns: A URLSessionTask that you can use it to cancel current fetch.
392 | /// - Throws: KKBOXOpenAPIError.requireAccessToken.
393 | public func fetch(artist ID: String, territory: KKTerritory = .taiwan, callback: @escaping (_ result: KKAPIResult<KKArtistInfo>) -> ()) throws -> URLSessionTask {
| `- error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
394 | let urlString = "\(KKBOXAPIPath)artists/\(escape(ID))?territory=\(territory.toString())"
395 | return try self.get(url: URL(string: urlString)!, callback: self.apiDataCallback(callback: callback))
Foundation.URLSessionTask:2:18: note: 'URLSessionTask' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSessionTask = AnyObject
| `- note: 'URLSessionTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/KKBOXOpenAPISwift/KKBOXOpenAPI.swift:411:196: error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
409 | /// - Returns: A URLSessionTask that you can use it to cancel current fetch.
410 | /// - Throws: KKBOXOpenAPIError.requireAccessToken.
411 | public func fetch(albumsBelongToArtist ID: String, territory: KKTerritory = .taiwan, offset: Int = 0, limit: Int = 200, callback: @escaping (_ result: KKAPIResult<KKAlbumList>) -> ()) throws -> URLSessionTask {
| `- error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
412 | let urlString = "\(KKBOXAPIPath)artists/\(escape(ID))/albums?territory=\(territory.toString())&offset=\(offset)&limit=\(limit)"
413 | return try self.get(url: URL(string: urlString)!, callback: self.apiDataCallback(callback: callback))
Foundation.URLSessionTask:2:18: note: 'URLSessionTask' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSessionTask = AnyObject
| `- note: 'URLSessionTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/KKBOXOpenAPISwift/KKBOXOpenAPI.swift:429:193: error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
427 | /// - Returns: A URLSessionTask that you can use it to cancel current fetch.
428 | /// - Throws: KKBOXOpenAPIError.requireAccessToken.
429 | public func fetch(topTracksOfArtist ID: String, territory: KKTerritory = .taiwan, offset: Int = 0, limit: Int = 200, callback: @escaping (_ result: KKAPIResult<KKTrackList>) -> ()) throws -> URLSessionTask {
| `- error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
430 | let urlString = "\(KKBOXAPIPath)artists/\(escape(ID))/top-tracks?territory=\(territory.toString())&offset=\(offset)&limit=\(limit)"
431 | return try self.get(url: URL(string: urlString)!, callback: self.apiDataCallback(callback: callback))
Foundation.URLSessionTask:2:18: note: 'URLSessionTask' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSessionTask = AnyObject
| `- note: 'URLSessionTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/KKBOXOpenAPISwift/KKBOXOpenAPI.swift:447:198: error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
445 | /// - Returns: A URLSessionTask that you can use it to cancel current fetch.
446 | /// - Throws: KKBOXOpenAPIError.requireAccessToken.
447 | public func fetch(relatedArtistsOfArtist ID: String, territory: KKTerritory = .taiwan, offset: Int = 0, limit: Int = 20, callback: @escaping (_ result: KKAPIResult<KKArtistList>) -> ()) throws -> URLSessionTask {
| `- error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
448 | let urlString = "\(KKBOXAPIPath)artists/\(escape(ID))/related-artists?territory=\(territory.toString())&offset=\(offset)&limit=\(limit)"
449 | return try self.get(url: URL(string: urlString)!, callback: self.apiDataCallback(callback: callback))
Foundation.URLSessionTask:2:18: note: 'URLSessionTask' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSessionTask = AnyObject
| `- note: 'URLSessionTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/KKBOXOpenAPISwift/KKBOXOpenAPI.swift:467:152: error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
465 | /// - Returns: A URLSessionTask that you can use it to cancel current fetch.
466 | /// - Throws: KKBOXOpenAPIError.requireAccessToken.
467 | public func fetch(playlist ID: String, territory: KKTerritory = .taiwan, callback: @escaping (_ result: KKAPIResult<KKPlaylistInfo>) -> ()) throws -> URLSessionTask {
| `- error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
468 | let urlString = "\(KKBOXAPIPath)shared-playlists/\(escape(ID))?territory=\(territory.toString())"
469 | return try self.get(url: URL(string: urlString)!, callback: self.apiDataCallback(callback: callback))
Foundation.URLSessionTask:2:18: note: 'URLSessionTask' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSessionTask = AnyObject
| `- note: 'URLSessionTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/KKBOXOpenAPISwift/KKBOXOpenAPI.swift:485:191: error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
483 | /// - Returns: A URLSessionTask that you can use it to cancel current fetch.
484 | /// - Throws: KKBOXOpenAPIError.requireAccessToken.
485 | public func fetch(tracksInPlaylist ID: String, territory: KKTerritory = .taiwan, offset: Int = 0, limit: Int = 20, callback: @escaping (_ result: KKAPIResult<KKTrackList>) -> ()) throws -> URLSessionTask {
| `- error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
486 | let urlString = "\(KKBOXAPIPath)shared-playlists/\(escape(ID))/tracks?territory=\(territory.toString())&offset=\(offset)&limit=\(limit)"
487 | return try self.get(url: URL(string: urlString)!, callback: self.apiDataCallback(callback: callback))
Foundation.URLSessionTask:2:18: note: 'URLSessionTask' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSessionTask = AnyObject
| `- note: 'URLSessionTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/KKBOXOpenAPISwift/KKBOXOpenAPI.swift:506:183: error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
504 | /// - Returns: A URLSessionTask that you can use it to cancel current fetch.
505 | /// - Throws: KKBOXOpenAPIError.requireAccessToken.
506 | public func fetchFeaturedPlaylists(territory: KKTerritory = .taiwan, offset: Int = 0, limit: Int = 100, callback: @escaping (_ result: KKAPIResult<KKPlaylistList>) -> ()) throws -> URLSessionTask {
| `- error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
507 | let urlString = "\(KKBOXAPIPath)featured-playlists?territory=\(territory.toString())&offset=\(offset)&limit=\(limit)"
508 | return try self.get(url: URL(string: urlString)!, callback: self.apiDataCallback(callback: callback))
Foundation.URLSessionTask:2:18: note: 'URLSessionTask' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSessionTask = AnyObject
| `- note: 'URLSessionTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/KKBOXOpenAPISwift/KKBOXOpenAPI.swift:527:181: error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
525 | /// - Returns: A URLSessionTask that you can use it to cancel current fetch.
526 | /// - Throws: KKBOXOpenAPIError.requireAccessToken.
527 | public func fetchNewHitsPlaylists(territory: KKTerritory = .taiwan, offset: Int = 0, limit: Int = 10, callback: @escaping (_ result: KKAPIResult<KKPlaylistList>) -> ()) throws -> URLSessionTask {
| `- error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
528 | let urlString = "\(KKBOXAPIPath)new-hits-playlists?territory=\(territory.toString())&offset=\(offset)&limit=\(limit)"
529 | return try self.get(url: URL(string: urlString)!, callback: self.apiDataCallback(callback: callback))
Foundation.URLSessionTask:2:18: note: 'URLSessionTask' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSessionTask = AnyObject
| `- note: 'URLSessionTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/KKBOXOpenAPISwift/KKBOXOpenAPI.swift:548:208: error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
546 | /// - Returns: A URLSessionTask that you can use it to cancel current fetch.
547 | /// - Throws: KKBOXOpenAPIError.requireAccessToken.
548 | public func fetchFeaturedPlaylistCategories(territory: KKTerritory = .taiwan, offset: Int = 0, limit: Int = 100, callback: @escaping (_ result: KKAPIResult<KKFeaturedPlaylistCategoryList>) -> ()) throws -> URLSessionTask {
| `- error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
549 | let urlString = "\(KKBOXAPIPath)featured-playlist-categories?territory=\(territory.toString())&offset=\(offset)&limit=\(limit)"
550 | return try self.get(url: URL(string: urlString)!, callback: self.apiDataCallback(callback: callback))
Foundation.URLSessionTask:2:18: note: 'URLSessionTask' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSessionTask = AnyObject
| `- note: 'URLSessionTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/KKBOXOpenAPISwift/KKBOXOpenAPI.swift:566:217: error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
564 | /// - Returns: A URLSessionTask that you can use it to cancel current fetch.
565 | /// - Throws: KKBOXOpenAPIError.requireAccessToken.
566 | public func fetchFeaturedPlaylist(inCategory ID: String, territory: KKTerritory = .taiwan, offset: Int = 0, limit: Int = 100, callback: @escaping (_ result: KKAPIResult<KKFeaturedPlaylistCategory>) -> ()) throws -> URLSessionTask {
| `- error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
567 | let urlString = "\(KKBOXAPIPath)featured-playlist-categories/\(escape(ID))?territory=\(territory.toString())&offset=\(offset)&limit=\(limit)"
568 | return try self.get(url: URL(string: urlString)!, callback: self.apiDataCallback(callback: callback))
Foundation.URLSessionTask:2:18: note: 'URLSessionTask' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSessionTask = AnyObject
| `- note: 'URLSessionTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/KKBOXOpenAPISwift/KKBOXOpenAPI.swift:587:182: error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
585 | /// - Returns: A URLSessionTask that you can use it to cancel current fetch.
586 | /// - Throws: KKBOXOpenAPIError.requireAccessToken.
587 | public func fetchMoodStations(territory: KKTerritory = .taiwan, offset: Int = 0, limit: Int = 100, callback: @escaping (_ result: KKAPIResult<KKRadioStationList>) -> ()) throws -> URLSessionTask {
| `- error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
588 | let urlString = "\(KKBOXAPIPath)mood-stations?territory=\(territory.toString())&offset=\(offset)&limit=\(limit)"
589 | return try self.get(url: URL(string: urlString)!, callback: self.apiDataCallback(callback: callback))
Foundation.URLSessionTask:2:18: note: 'URLSessionTask' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSessionTask = AnyObject
| `- note: 'URLSessionTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/KKBOXOpenAPISwift/KKBOXOpenAPI.swift:605:198: error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
603 | /// - Returns: A URLSessionTask that you can use it to cancel current fetch.
604 | /// - Throws: KKBOXOpenAPIError.requireAccessToken.
605 | public func fetch(tracksInMoodStation ID: String, territory: KKTerritory = .taiwan, offset: Int = 0, limit: Int = 100, callback: @escaping (_ result: KKAPIResult<KKRadioStation>) -> ()) throws -> URLSessionTask {
| `- error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
606 | let urlString = "\(KKBOXAPIPath)mood-stations/\(escape(ID))?territory=\(territory.toString())&offset=\(offset)&limit=\(limit)"
607 | return try self.get(url: URL(string: urlString)!, callback: self.apiDataCallback(callback: callback))
Foundation.URLSessionTask:2:18: note: 'URLSessionTask' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSessionTask = AnyObject
| `- note: 'URLSessionTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/KKBOXOpenAPISwift/KKBOXOpenAPI.swift:624:183: error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
622 | /// - Returns: A URLSessionTask that you can use it to cancel current fetch.
623 | /// - Throws: KKBOXOpenAPIError.requireAccessToken.
624 | public func fetchGenreStations(territory: KKTerritory = .taiwan, offset: Int = 0, limit: Int = 100, callback: @escaping (_ result: KKAPIResult<KKRadioStationList>) -> ()) throws -> URLSessionTask {
| `- error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
625 | let urlString = "\(KKBOXAPIPath)genre-stations?territory=\(territory.toString())&offset=\(offset)&limit=\(limit)"
626 | return try self.get(url: URL(string: urlString)!, callback: self.apiDataCallback(callback: callback))
Foundation.URLSessionTask:2:18: note: 'URLSessionTask' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSessionTask = AnyObject
| `- note: 'URLSessionTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/KKBOXOpenAPISwift/KKBOXOpenAPI.swift:642:199: error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
640 | /// - Returns: A URLSessionTask that you can use it to cancel current fetch.
641 | /// - Throws: KKBOXOpenAPIError.requireAccessToken.
642 | public func fetch(tracksInGenreStation ID: String, territory: KKTerritory = .taiwan, offset: Int = 0, limit: Int = 100, callback: @escaping (_ result: KKAPIResult<KKRadioStation>) -> ()) throws -> URLSessionTask {
| `- error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
643 | let urlString = "\(KKBOXAPIPath)genre-stations/\(escape(ID))?territory=\(territory.toString())&offset=\(offset)&limit=\(limit)"
644 | return try self.get(url: URL(string: urlString)!, callback: self.apiDataCallback(callback: callback))
Foundation.URLSessionTask:2:18: note: 'URLSessionTask' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSessionTask = AnyObject
| `- note: 'URLSessionTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/KKBOXOpenAPISwift/KKBOXOpenAPI.swift:663:209: error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
661 | /// - Returns: A URLSessionTask that you can use it to cancel current fetch.
662 | /// - Throws: KKBOXOpenAPIError.requireAccessToken.
663 | public func fetchNewReleaseAlbumsCategories(territory: KKTerritory = .taiwan, offset: Int = 0, limit: Int = 100, callback: @escaping (_ result: KKAPIResult<KKNewReleasedAlbumsCategoryList>) -> ()) throws -> URLSessionTask {
| `- error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
664 | let urlString = "\(KKBOXAPIPath)new-release-categories?territory=\(territory.toString())&offset=\(offset)&limit=\(limit)"
665 | return try self.get(url: URL(string: urlString)!, callback: self.apiDataCallback(callback: callback))
Foundation.URLSessionTask:2:18: note: 'URLSessionTask' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSessionTask = AnyObject
| `- note: 'URLSessionTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/KKBOXOpenAPISwift/KKBOXOpenAPI.swift:681:222: error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
679 | /// - Returns: A URLSessionTask that you can use it to cancel current fetch.
680 | /// - Throws: KKBOXOpenAPIError.requireAccessToken.
681 | public func fetch(newReleasedAlbumsUnderCategory ID: String, territory: KKTerritory = .taiwan, offset: Int = 0, limit: Int = 100, callback: @escaping (_ result: KKAPIResult<KKNewReleasedAlbumsCategory>) -> ()) throws -> URLSessionTask {
| `- error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
682 | let urlString = "\(KKBOXAPIPath)new-release-categories/\(escape(ID))?territory=\(territory.toString())&offset=\(offset)&limit=\(limit)"
683 | return try self.get(url: URL(string: urlString)!, callback: self.apiDataCallback(callback: callback))
Foundation.URLSessionTask:2:18: note: 'URLSessionTask' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSessionTask = AnyObject
| `- note: 'URLSessionTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/KKBOXOpenAPISwift/KKBOXOpenAPI.swift:702:171: error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
700 | /// - Returns: A URLSessionTask that you can use it to cancel current fetch.
701 | /// - Throws: KKBOXOpenAPIError.requireAccessToken.
702 | public func fetchCharts(territory: KKTerritory = .taiwan, offset: Int = 0, limit: Int = 50, callback: @escaping (_ result: KKAPIResult<KKPlaylistList>) -> ()) throws -> URLSessionTask {
| `- error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
703 | let urlString = "\(KKBOXAPIPath)charts?territory=\(territory.toString())&offset=\(offset)&limit=\(limit)"
704 | return try self.get(url: URL(string: urlString)!, callback: self.apiDataCallback(callback: callback))
Foundation.URLSessionTask:2:18: note: 'URLSessionTask' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSessionTask = AnyObject
| `- note: 'URLSessionTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/KKBOXOpenAPISwift/KKBOXOpenAPI.swift:725:210: error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
723 | /// - Returns: A URLSessionTask that you can use it to cancel current fetch.
724 | /// - Throws: KKBOXOpenAPIError.requireAccessToken.
725 | public func search(with keyword: String, types: KKSearchType, territory: KKTerritory = .taiwan, offset: Int = 0, limit: Int = 50, callback: @escaping (_ result: KKAPIResult<KKSearchResults>) -> ()) throws -> URLSessionTask {
| `- error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
726 | let urlString = "\(KKBOXAPIPath)search?q=\(escape_arg(keyword))&type=\(types.toString())&territory=\(territory.toString())&offset=\(offset)&limit=\(limit)"
727 | print(urlString)
Foundation.URLSessionTask:2:18: note: 'URLSessionTask' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSessionTask = AnyObject
| `- note: 'URLSessionTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/KKBOXOpenAPISwift/KKBOXOpenAPI.swift:794:91: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
792 |
793 | extension KKBOXOpenAPI {
794 | private func connectionHandler(callback: @escaping (KKAPIResult<Data>) -> ()) -> (Data?, URLResponse?, Error?) -> () {
| `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
795 | return { data, response, error in
796 | if let error = error {
Foundation.URLResponse:2:18: note: 'URLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLResponse = AnyObject
| `- note: 'URLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/KKBOXOpenAPISwift/KKBOXOpenAPI.swift:823:143: error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
821 | }
822 |
823 | private func post(url: URL, postParameters: [AnyHashable: Any], headers: [String: String], callback: @escaping (KKAPIResult<Data>) -> ()) -> URLSessionTask {
| `- error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
824 | var headers = headers
825 | headers["Content-type"] = "application/x-www-form-urlencoded"
Foundation.URLSessionTask:2:18: note: 'URLSessionTask' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSessionTask = AnyObject
| `- note: 'URLSessionTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/KKBOXOpenAPISwift/KKBOXOpenAPI.swift:832:120: error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
830 | }
831 |
832 | private func post(url: URL, data: Data?, headers: [String: String], callback: @escaping (KKAPIResult<Data>) -> ()) -> URLSessionTask {
| `- error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
833 | var request = URLRequest(url: url)
834 | request.httpMethod = "POST"
Foundation.URLSessionTask:2:18: note: 'URLSessionTask' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSessionTask = AnyObject
| `- note: 'URLSessionTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/KKBOXOpenAPISwift/KKBOXOpenAPI.swift:845:86: error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
843 | }
844 |
845 | private func get(url: URL, callback: @escaping (KKAPIResult<Data>) -> ()) throws -> URLSessionTask {
| `- error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
846 | guard let accessToken = self.accessToken else {
847 | throw KKBOXOpenAPIError.requireAccessToken
Foundation.URLSessionTask:2:18: note: 'URLSessionTask' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSessionTask = AnyObject
| `- note: 'URLSessionTask' has been explicitly marked unavailable here
[6/6] Compiling KKBOXOpenAPISwift KKBOXOpenAPI.swift
/host/spi-builder-workspace/Sources/KKBOXOpenAPISwift/KKBOXOpenAPI.swift:83:20: warning: static property 'none' produces an empty option set
81 |
82 | public let rawValue: Int
83 | public static let none = KKSearchType(rawValue: 0)
| |- warning: static property 'none' produces an empty option set
| `- note: use [] to silence this warning
84 | /// Specify that we are searching for artists.
85 | public static let artist = KKSearchType(rawValue: 1 << 0)
/host/spi-builder-workspace/Sources/KKBOXOpenAPISwift/KKBOXOpenAPI.swift:142:20: warning: static property 'none' produces an empty option set
140 | public let rawValue: Int
141 | /// Your client does not request any additional permission.
142 | public static let none = KKScope(rawValue: 0)
| |- warning: static property 'none' produces an empty option set
| `- note: use [] to silence this warning
143 | /// Your client requests the permission to access user profiles.
144 | public static let userProfile = KKScope(rawValue: 1 << 0)
/host/spi-builder-workspace/Sources/KKBOXOpenAPISwift/KKBOXOpenAPI.swift:247:32: error: no exact matches in call to instance method 'post'
245 | didSet {
246 | if self.accessToken == nil {
247 | NotificationCenter.default.post(name: .KKBOXOpenAPIDidLogout, object: self)
| `- error: no exact matches in call to instance method 'post'
248 | } else {
249 | NotificationCenter.default.post(name: .KKBOXOpenAPIDidLogin, object: self)
FoundationEssentials.NotificationCenter.post:2:13: note: incorrect labels for candidate (have: '(name:object:)', expected: '(_:subject:)')
1 | class NotificationCenter {
2 | public func post<Message>(_ message: Message, subject: Message.Subject) where Message : NotificationCenter.AsyncMessage, Message.Subject : AnyObject}
| `- note: incorrect labels for candidate (have: '(name:object:)', expected: '(_:subject:)')
3 |
FoundationEssentials.NotificationCenter.post:2:13: note: candidate '(_) -> ()' has 2 parameters, but context '(Message) -> ()' has 1
1 | class NotificationCenter {
2 | public func post<Message>(_ message: Message) where Message : NotificationCenter.AsyncMessage}
| `- note: candidate '(_) -> ()' has 2 parameters, but context '(Message) -> ()' has 1
3 |
FoundationEssentials.NotificationCenter.post:2:24: note: incorrect labels for candidate (have: '(name:object:)', expected: '(_:subject:)')
1 | class NotificationCenter {
2 | @MainActor public func post<Message>(_ message: Message, subject: Message.Subject) where Message : NotificationCenter.MainActorMessage, Message.Subject : AnyObject}
| `- note: incorrect labels for candidate (have: '(name:object:)', expected: '(_:subject:)')
3 |
FoundationEssentials.NotificationCenter.post:2:24: note: candidate '@MainActor (_) -> ()' has 2 parameters, but context '@MainActor (Message) -> ()' has 1
1 | class NotificationCenter {
2 | @MainActor public func post<Message>(_ message: Message) where Message : NotificationCenter.MainActorMessage}
| `- note: candidate '@MainActor (_) -> ()' has 2 parameters, but context '@MainActor (Message) -> ()' has 1
3 |
/host/spi-builder-workspace/Sources/KKBOXOpenAPISwift/KKBOXOpenAPI.swift:247:44: error: reference to member 'KKBOXOpenAPIDidLogout' cannot be resolved without a contextual type
245 | didSet {
246 | if self.accessToken == nil {
247 | NotificationCenter.default.post(name: .KKBOXOpenAPIDidLogout, object: self)
| `- error: reference to member 'KKBOXOpenAPIDidLogout' cannot be resolved without a contextual type
248 | } else {
249 | NotificationCenter.default.post(name: .KKBOXOpenAPIDidLogin, object: self)
/host/spi-builder-workspace/Sources/KKBOXOpenAPISwift/KKBOXOpenAPI.swift:249:32: error: no exact matches in call to instance method 'post'
247 | NotificationCenter.default.post(name: .KKBOXOpenAPIDidLogout, object: self)
248 | } else {
249 | NotificationCenter.default.post(name: .KKBOXOpenAPIDidLogin, object: self)
| `- error: no exact matches in call to instance method 'post'
250 | }
251 | }
FoundationEssentials.NotificationCenter.post:2:13: note: incorrect labels for candidate (have: '(name:object:)', expected: '(_:subject:)')
1 | class NotificationCenter {
2 | public func post<Message>(_ message: Message, subject: Message.Subject) where Message : NotificationCenter.AsyncMessage, Message.Subject : AnyObject}
| `- note: incorrect labels for candidate (have: '(name:object:)', expected: '(_:subject:)')
3 |
FoundationEssentials.NotificationCenter.post:2:13: note: candidate '(_) -> ()' has 2 parameters, but context '(Message) -> ()' has 1
1 | class NotificationCenter {
2 | public func post<Message>(_ message: Message) where Message : NotificationCenter.AsyncMessage}
| `- note: candidate '(_) -> ()' has 2 parameters, but context '(Message) -> ()' has 1
3 |
FoundationEssentials.NotificationCenter.post:2:24: note: incorrect labels for candidate (have: '(name:object:)', expected: '(_:subject:)')
1 | class NotificationCenter {
2 | @MainActor public func post<Message>(_ message: Message, subject: Message.Subject) where Message : NotificationCenter.MainActorMessage, Message.Subject : AnyObject}
| `- note: incorrect labels for candidate (have: '(name:object:)', expected: '(_:subject:)')
3 |
FoundationEssentials.NotificationCenter.post:2:24: note: candidate '@MainActor (_) -> ()' has 2 parameters, but context '@MainActor (Message) -> ()' has 1
1 | class NotificationCenter {
2 | @MainActor public func post<Message>(_ message: Message) where Message : NotificationCenter.MainActorMessage}
| `- note: candidate '@MainActor (_) -> ()' has 2 parameters, but context '@MainActor (Message) -> ()' has 1
3 |
/host/spi-builder-workspace/Sources/KKBOXOpenAPISwift/KKBOXOpenAPI.swift:249:44: error: reference to member 'KKBOXOpenAPIDidLogin' cannot be resolved without a contextual type
247 | NotificationCenter.default.post(name: .KKBOXOpenAPIDidLogout, object: self)
248 | } else {
249 | NotificationCenter.default.post(name: .KKBOXOpenAPIDidLogin, object: self)
| `- error: reference to member 'KKBOXOpenAPIDidLogin' cannot be resolved without a contextual type
250 | }
251 | }
/host/spi-builder-workspace/Sources/KKBOXOpenAPISwift/KKBOXOpenAPI.swift:301:125: error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
299 | /// - Returns: A URLSessionTask that you can use it to cancel current fetch.
300 | /// - Throws: KKBOXOpenAPIError.failedToCreateClientCredential
301 | public func fetchAccessTokenByClientCredential(callback: @escaping (_ result: KKAPIResult<KKAccessToken>) -> ()) throws -> URLSessionTask {
| `- error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
302 | func makeClientCredential() -> String? {
303 | let base = "\(self.clientID):\(self.clientSecret)"
Foundation.URLSessionTask:2:18: note: 'URLSessionTask' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSessionTask = AnyObject
| `- note: 'URLSessionTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/KKBOXOpenAPISwift/KKBOXOpenAPI.swift:335:146: error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
333 | /// - Returns: A URLSessionTask that you can use it to cancel current fetch.
334 | /// - Throws: KKBOXOpenAPIError.requireAccessToken.
335 | public func fetch(track ID: String, territory: KKTerritory = .taiwan, callback: @escaping (_ result: KKAPIResult<KKTrackInfo>) -> ()) throws -> URLSessionTask {
| `- error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
336 | let urlString = "\(KKBOXAPIPath)tracks/\(escape(ID))?territory=\(territory.toString())"
337 | return try self.get(url: URL(string: urlString)!, callback: self.apiDataCallback(callback: callback))
Foundation.URLSessionTask:2:18: note: 'URLSessionTask' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSessionTask = AnyObject
| `- note: 'URLSessionTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/KKBOXOpenAPISwift/KKBOXOpenAPI.swift:356:146: error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
354 | /// - Returns: A URLSessionTask that you can use it to cancel current fetch.
355 | /// - Throws: KKBOXOpenAPIError.requireAccessToken.
356 | public func fetch(album ID: String, territory: KKTerritory = .taiwan, callback: @escaping (_ result: KKAPIResult<KKAlbumInfo>) -> ()) throws -> URLSessionTask {
| `- error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
357 | let urlString = "\(KKBOXAPIPath)albums/\(escape(ID))?territory=\(territory.toString())"
358 | return try self.get(url: URL(string: urlString)!, callback: self.apiDataCallback(callback: callback))
Foundation.URLSessionTask:2:18: note: 'URLSessionTask' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSessionTask = AnyObject
| `- note: 'URLSessionTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/KKBOXOpenAPISwift/KKBOXOpenAPI.swift:372:154: error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
370 | /// - Returns: A URLSessionTask that you can use it to cancel current fetch.
371 | /// - Throws: KKBOXOpenAPIError.requireAccessToken.
372 | public func fetch(tracksInAlbum ID: String, territory: KKTerritory = .taiwan, callback: @escaping (_ result: KKAPIResult<KKTrackList>) -> ()) throws -> URLSessionTask {
| `- error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
373 | let urlString = "\(KKBOXAPIPath)albums/\(escape(ID))/tracks?territory=\(territory.toString())"
374 | return try self.get(url: URL(string: urlString)!, callback: self.apiDataCallback(callback: callback))
Foundation.URLSessionTask:2:18: note: 'URLSessionTask' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSessionTask = AnyObject
| `- note: 'URLSessionTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/KKBOXOpenAPISwift/KKBOXOpenAPI.swift:393:148: error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
391 | /// - Returns: A URLSessionTask that you can use it to cancel current fetch.
392 | /// - Throws: KKBOXOpenAPIError.requireAccessToken.
393 | public func fetch(artist ID: String, territory: KKTerritory = .taiwan, callback: @escaping (_ result: KKAPIResult<KKArtistInfo>) -> ()) throws -> URLSessionTask {
| `- error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
394 | let urlString = "\(KKBOXAPIPath)artists/\(escape(ID))?territory=\(territory.toString())"
395 | return try self.get(url: URL(string: urlString)!, callback: self.apiDataCallback(callback: callback))
Foundation.URLSessionTask:2:18: note: 'URLSessionTask' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSessionTask = AnyObject
| `- note: 'URLSessionTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/KKBOXOpenAPISwift/KKBOXOpenAPI.swift:411:196: error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
409 | /// - Returns: A URLSessionTask that you can use it to cancel current fetch.
410 | /// - Throws: KKBOXOpenAPIError.requireAccessToken.
411 | public func fetch(albumsBelongToArtist ID: String, territory: KKTerritory = .taiwan, offset: Int = 0, limit: Int = 200, callback: @escaping (_ result: KKAPIResult<KKAlbumList>) -> ()) throws -> URLSessionTask {
| `- error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
412 | let urlString = "\(KKBOXAPIPath)artists/\(escape(ID))/albums?territory=\(territory.toString())&offset=\(offset)&limit=\(limit)"
413 | return try self.get(url: URL(string: urlString)!, callback: self.apiDataCallback(callback: callback))
Foundation.URLSessionTask:2:18: note: 'URLSessionTask' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSessionTask = AnyObject
| `- note: 'URLSessionTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/KKBOXOpenAPISwift/KKBOXOpenAPI.swift:429:193: error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
427 | /// - Returns: A URLSessionTask that you can use it to cancel current fetch.
428 | /// - Throws: KKBOXOpenAPIError.requireAccessToken.
429 | public func fetch(topTracksOfArtist ID: String, territory: KKTerritory = .taiwan, offset: Int = 0, limit: Int = 200, callback: @escaping (_ result: KKAPIResult<KKTrackList>) -> ()) throws -> URLSessionTask {
| `- error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
430 | let urlString = "\(KKBOXAPIPath)artists/\(escape(ID))/top-tracks?territory=\(territory.toString())&offset=\(offset)&limit=\(limit)"
431 | return try self.get(url: URL(string: urlString)!, callback: self.apiDataCallback(callback: callback))
Foundation.URLSessionTask:2:18: note: 'URLSessionTask' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSessionTask = AnyObject
| `- note: 'URLSessionTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/KKBOXOpenAPISwift/KKBOXOpenAPI.swift:447:198: error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
445 | /// - Returns: A URLSessionTask that you can use it to cancel current fetch.
446 | /// - Throws: KKBOXOpenAPIError.requireAccessToken.
447 | public func fetch(relatedArtistsOfArtist ID: String, territory: KKTerritory = .taiwan, offset: Int = 0, limit: Int = 20, callback: @escaping (_ result: KKAPIResult<KKArtistList>) -> ()) throws -> URLSessionTask {
| `- error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
448 | let urlString = "\(KKBOXAPIPath)artists/\(escape(ID))/related-artists?territory=\(territory.toString())&offset=\(offset)&limit=\(limit)"
449 | return try self.get(url: URL(string: urlString)!, callback: self.apiDataCallback(callback: callback))
Foundation.URLSessionTask:2:18: note: 'URLSessionTask' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSessionTask = AnyObject
| `- note: 'URLSessionTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/KKBOXOpenAPISwift/KKBOXOpenAPI.swift:467:152: error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
465 | /// - Returns: A URLSessionTask that you can use it to cancel current fetch.
466 | /// - Throws: KKBOXOpenAPIError.requireAccessToken.
467 | public func fetch(playlist ID: String, territory: KKTerritory = .taiwan, callback: @escaping (_ result: KKAPIResult<KKPlaylistInfo>) -> ()) throws -> URLSessionTask {
| `- error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
468 | let urlString = "\(KKBOXAPIPath)shared-playlists/\(escape(ID))?territory=\(territory.toString())"
469 | return try self.get(url: URL(string: urlString)!, callback: self.apiDataCallback(callback: callback))
Foundation.URLSessionTask:2:18: note: 'URLSessionTask' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSessionTask = AnyObject
| `- note: 'URLSessionTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/KKBOXOpenAPISwift/KKBOXOpenAPI.swift:485:191: error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
483 | /// - Returns: A URLSessionTask that you can use it to cancel current fetch.
484 | /// - Throws: KKBOXOpenAPIError.requireAccessToken.
485 | public func fetch(tracksInPlaylist ID: String, territory: KKTerritory = .taiwan, offset: Int = 0, limit: Int = 20, callback: @escaping (_ result: KKAPIResult<KKTrackList>) -> ()) throws -> URLSessionTask {
| `- error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
486 | let urlString = "\(KKBOXAPIPath)shared-playlists/\(escape(ID))/tracks?territory=\(territory.toString())&offset=\(offset)&limit=\(limit)"
487 | return try self.get(url: URL(string: urlString)!, callback: self.apiDataCallback(callback: callback))
Foundation.URLSessionTask:2:18: note: 'URLSessionTask' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSessionTask = AnyObject
| `- note: 'URLSessionTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/KKBOXOpenAPISwift/KKBOXOpenAPI.swift:506:183: error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
504 | /// - Returns: A URLSessionTask that you can use it to cancel current fetch.
505 | /// - Throws: KKBOXOpenAPIError.requireAccessToken.
506 | public func fetchFeaturedPlaylists(territory: KKTerritory = .taiwan, offset: Int = 0, limit: Int = 100, callback: @escaping (_ result: KKAPIResult<KKPlaylistList>) -> ()) throws -> URLSessionTask {
| `- error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
507 | let urlString = "\(KKBOXAPIPath)featured-playlists?territory=\(territory.toString())&offset=\(offset)&limit=\(limit)"
508 | return try self.get(url: URL(string: urlString)!, callback: self.apiDataCallback(callback: callback))
Foundation.URLSessionTask:2:18: note: 'URLSessionTask' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSessionTask = AnyObject
| `- note: 'URLSessionTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/KKBOXOpenAPISwift/KKBOXOpenAPI.swift:527:181: error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
525 | /// - Returns: A URLSessionTask that you can use it to cancel current fetch.
526 | /// - Throws: KKBOXOpenAPIError.requireAccessToken.
527 | public func fetchNewHitsPlaylists(territory: KKTerritory = .taiwan, offset: Int = 0, limit: Int = 10, callback: @escaping (_ result: KKAPIResult<KKPlaylistList>) -> ()) throws -> URLSessionTask {
| `- error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
528 | let urlString = "\(KKBOXAPIPath)new-hits-playlists?territory=\(territory.toString())&offset=\(offset)&limit=\(limit)"
529 | return try self.get(url: URL(string: urlString)!, callback: self.apiDataCallback(callback: callback))
Foundation.URLSessionTask:2:18: note: 'URLSessionTask' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSessionTask = AnyObject
| `- note: 'URLSessionTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/KKBOXOpenAPISwift/KKBOXOpenAPI.swift:548:208: error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
546 | /// - Returns: A URLSessionTask that you can use it to cancel current fetch.
547 | /// - Throws: KKBOXOpenAPIError.requireAccessToken.
548 | public func fetchFeaturedPlaylistCategories(territory: KKTerritory = .taiwan, offset: Int = 0, limit: Int = 100, callback: @escaping (_ result: KKAPIResult<KKFeaturedPlaylistCategoryList>) -> ()) throws -> URLSessionTask {
| `- error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
549 | let urlString = "\(KKBOXAPIPath)featured-playlist-categories?territory=\(territory.toString())&offset=\(offset)&limit=\(limit)"
550 | return try self.get(url: URL(string: urlString)!, callback: self.apiDataCallback(callback: callback))
Foundation.URLSessionTask:2:18: note: 'URLSessionTask' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSessionTask = AnyObject
| `- note: 'URLSessionTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/KKBOXOpenAPISwift/KKBOXOpenAPI.swift:566:217: error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
564 | /// - Returns: A URLSessionTask that you can use it to cancel current fetch.
565 | /// - Throws: KKBOXOpenAPIError.requireAccessToken.
566 | public func fetchFeaturedPlaylist(inCategory ID: String, territory: KKTerritory = .taiwan, offset: Int = 0, limit: Int = 100, callback: @escaping (_ result: KKAPIResult<KKFeaturedPlaylistCategory>) -> ()) throws -> URLSessionTask {
| `- error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
567 | let urlString = "\(KKBOXAPIPath)featured-playlist-categories/\(escape(ID))?territory=\(territory.toString())&offset=\(offset)&limit=\(limit)"
568 | return try self.get(url: URL(string: urlString)!, callback: self.apiDataCallback(callback: callback))
Foundation.URLSessionTask:2:18: note: 'URLSessionTask' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSessionTask = AnyObject
| `- note: 'URLSessionTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/KKBOXOpenAPISwift/KKBOXOpenAPI.swift:587:182: error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
585 | /// - Returns: A URLSessionTask that you can use it to cancel current fetch.
586 | /// - Throws: KKBOXOpenAPIError.requireAccessToken.
587 | public func fetchMoodStations(territory: KKTerritory = .taiwan, offset: Int = 0, limit: Int = 100, callback: @escaping (_ result: KKAPIResult<KKRadioStationList>) -> ()) throws -> URLSessionTask {
| `- error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
588 | let urlString = "\(KKBOXAPIPath)mood-stations?territory=\(territory.toString())&offset=\(offset)&limit=\(limit)"
589 | return try self.get(url: URL(string: urlString)!, callback: self.apiDataCallback(callback: callback))
Foundation.URLSessionTask:2:18: note: 'URLSessionTask' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSessionTask = AnyObject
| `- note: 'URLSessionTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/KKBOXOpenAPISwift/KKBOXOpenAPI.swift:605:198: error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
603 | /// - Returns: A URLSessionTask that you can use it to cancel current fetch.
604 | /// - Throws: KKBOXOpenAPIError.requireAccessToken.
605 | public func fetch(tracksInMoodStation ID: String, territory: KKTerritory = .taiwan, offset: Int = 0, limit: Int = 100, callback: @escaping (_ result: KKAPIResult<KKRadioStation>) -> ()) throws -> URLSessionTask {
| `- error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
606 | let urlString = "\(KKBOXAPIPath)mood-stations/\(escape(ID))?territory=\(territory.toString())&offset=\(offset)&limit=\(limit)"
607 | return try self.get(url: URL(string: urlString)!, callback: self.apiDataCallback(callback: callback))
Foundation.URLSessionTask:2:18: note: 'URLSessionTask' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSessionTask = AnyObject
| `- note: 'URLSessionTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/KKBOXOpenAPISwift/KKBOXOpenAPI.swift:624:183: error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
622 | /// - Returns: A URLSessionTask that you can use it to cancel current fetch.
623 | /// - Throws: KKBOXOpenAPIError.requireAccessToken.
624 | public func fetchGenreStations(territory: KKTerritory = .taiwan, offset: Int = 0, limit: Int = 100, callback: @escaping (_ result: KKAPIResult<KKRadioStationList>) -> ()) throws -> URLSessionTask {
| `- error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
625 | let urlString = "\(KKBOXAPIPath)genre-stations?territory=\(territory.toString())&offset=\(offset)&limit=\(limit)"
626 | return try self.get(url: URL(string: urlString)!, callback: self.apiDataCallback(callback: callback))
Foundation.URLSessionTask:2:18: note: 'URLSessionTask' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSessionTask = AnyObject
| `- note: 'URLSessionTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/KKBOXOpenAPISwift/KKBOXOpenAPI.swift:642:199: error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
640 | /// - Returns: A URLSessionTask that you can use it to cancel current fetch.
641 | /// - Throws: KKBOXOpenAPIError.requireAccessToken.
642 | public func fetch(tracksInGenreStation ID: String, territory: KKTerritory = .taiwan, offset: Int = 0, limit: Int = 100, callback: @escaping (_ result: KKAPIResult<KKRadioStation>) -> ()) throws -> URLSessionTask {
| `- error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
643 | let urlString = "\(KKBOXAPIPath)genre-stations/\(escape(ID))?territory=\(territory.toString())&offset=\(offset)&limit=\(limit)"
644 | return try self.get(url: URL(string: urlString)!, callback: self.apiDataCallback(callback: callback))
Foundation.URLSessionTask:2:18: note: 'URLSessionTask' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSessionTask = AnyObject
| `- note: 'URLSessionTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/KKBOXOpenAPISwift/KKBOXOpenAPI.swift:663:209: error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
661 | /// - Returns: A URLSessionTask that you can use it to cancel current fetch.
662 | /// - Throws: KKBOXOpenAPIError.requireAccessToken.
663 | public func fetchNewReleaseAlbumsCategories(territory: KKTerritory = .taiwan, offset: Int = 0, limit: Int = 100, callback: @escaping (_ result: KKAPIResult<KKNewReleasedAlbumsCategoryList>) -> ()) throws -> URLSessionTask {
| `- error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
664 | let urlString = "\(KKBOXAPIPath)new-release-categories?territory=\(territory.toString())&offset=\(offset)&limit=\(limit)"
665 | return try self.get(url: URL(string: urlString)!, callback: self.apiDataCallback(callback: callback))
Foundation.URLSessionTask:2:18: note: 'URLSessionTask' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSessionTask = AnyObject
| `- note: 'URLSessionTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/KKBOXOpenAPISwift/KKBOXOpenAPI.swift:681:222: error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
679 | /// - Returns: A URLSessionTask that you can use it to cancel current fetch.
680 | /// - Throws: KKBOXOpenAPIError.requireAccessToken.
681 | public func fetch(newReleasedAlbumsUnderCategory ID: String, territory: KKTerritory = .taiwan, offset: Int = 0, limit: Int = 100, callback: @escaping (_ result: KKAPIResult<KKNewReleasedAlbumsCategory>) -> ()) throws -> URLSessionTask {
| `- error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
682 | let urlString = "\(KKBOXAPIPath)new-release-categories/\(escape(ID))?territory=\(territory.toString())&offset=\(offset)&limit=\(limit)"
683 | return try self.get(url: URL(string: urlString)!, callback: self.apiDataCallback(callback: callback))
Foundation.URLSessionTask:2:18: note: 'URLSessionTask' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSessionTask = AnyObject
| `- note: 'URLSessionTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/KKBOXOpenAPISwift/KKBOXOpenAPI.swift:702:171: error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
700 | /// - Returns: A URLSessionTask that you can use it to cancel current fetch.
701 | /// - Throws: KKBOXOpenAPIError.requireAccessToken.
702 | public func fetchCharts(territory: KKTerritory = .taiwan, offset: Int = 0, limit: Int = 50, callback: @escaping (_ result: KKAPIResult<KKPlaylistList>) -> ()) throws -> URLSessionTask {
| `- error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
703 | let urlString = "\(KKBOXAPIPath)charts?territory=\(territory.toString())&offset=\(offset)&limit=\(limit)"
704 | return try self.get(url: URL(string: urlString)!, callback: self.apiDataCallback(callback: callback))
Foundation.URLSessionTask:2:18: note: 'URLSessionTask' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSessionTask = AnyObject
| `- note: 'URLSessionTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/KKBOXOpenAPISwift/KKBOXOpenAPI.swift:725:210: error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
723 | /// - Returns: A URLSessionTask that you can use it to cancel current fetch.
724 | /// - Throws: KKBOXOpenAPIError.requireAccessToken.
725 | public func search(with keyword: String, types: KKSearchType, territory: KKTerritory = .taiwan, offset: Int = 0, limit: Int = 50, callback: @escaping (_ result: KKAPIResult<KKSearchResults>) -> ()) throws -> URLSessionTask {
| `- error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
726 | let urlString = "\(KKBOXAPIPath)search?q=\(escape_arg(keyword))&type=\(types.toString())&territory=\(territory.toString())&offset=\(offset)&limit=\(limit)"
727 | print(urlString)
Foundation.URLSessionTask:2:18: note: 'URLSessionTask' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSessionTask = AnyObject
| `- note: 'URLSessionTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/KKBOXOpenAPISwift/KKBOXOpenAPI.swift:794:91: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
792 |
793 | extension KKBOXOpenAPI {
794 | private func connectionHandler(callback: @escaping (KKAPIResult<Data>) -> ()) -> (Data?, URLResponse?, Error?) -> () {
| `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
795 | return { data, response, error in
796 | if let error = error {
Foundation.URLResponse:2:18: note: 'URLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLResponse = AnyObject
| `- note: 'URLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/KKBOXOpenAPISwift/KKBOXOpenAPI.swift:823:143: error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
821 | }
822 |
823 | private func post(url: URL, postParameters: [AnyHashable: Any], headers: [String: String], callback: @escaping (KKAPIResult<Data>) -> ()) -> URLSessionTask {
| `- error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
824 | var headers = headers
825 | headers["Content-type"] = "application/x-www-form-urlencoded"
Foundation.URLSessionTask:2:18: note: 'URLSessionTask' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSessionTask = AnyObject
| `- note: 'URLSessionTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/KKBOXOpenAPISwift/KKBOXOpenAPI.swift:832:120: error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
830 | }
831 |
832 | private func post(url: URL, data: Data?, headers: [String: String], callback: @escaping (KKAPIResult<Data>) -> ()) -> URLSessionTask {
| `- error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
833 | var request = URLRequest(url: url)
834 | request.httpMethod = "POST"
Foundation.URLSessionTask:2:18: note: 'URLSessionTask' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSessionTask = AnyObject
| `- note: 'URLSessionTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/KKBOXOpenAPISwift/KKBOXOpenAPI.swift:845:86: error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
843 | }
844 |
845 | private func get(url: URL, callback: @escaping (KKAPIResult<Data>) -> ()) throws -> URLSessionTask {
| `- error: 'URLSessionTask' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
846 | guard let accessToken = self.accessToken else {
847 | throw KKBOXOpenAPIError.requireAccessToken
Foundation.URLSessionTask:2:18: note: 'URLSessionTask' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSessionTask = AnyObject
| `- note: 'URLSessionTask' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/KKBOXOpenAPISwift/KKBOXOpenAPI.swift:773:6: error: cannot find 'DispatchQueue' in scope
771 | if let decodedError = decodedError {
772 | let customError = NSError(domain: KKErrorDomain, code: decodedError.error.code, userInfo: [NSLocalizedDescriptionKey: decodedError.error.message ?? ""])
773 | DispatchQueue.main.async {
| `- error: cannot find 'DispatchQueue' in scope
774 | callback(.error(customError))
775 | }
/host/spi-builder-workspace/Sources/KKBOXOpenAPISwift/KKBOXOpenAPI.swift:797:5: error: cannot find 'DispatchQueue' in scope
795 | return { data, response, error in
796 | if let error = error {
797 | DispatchQueue.main.async {
| `- error: cannot find 'DispatchQueue' in scope
798 | callback(.error(error))
799 | }
/host/spi-builder-workspace/Sources/KKBOXOpenAPISwift/KKBOXOpenAPI.swift:805:5: error: cannot find 'DispatchQueue' in scope
803 | if code != 200 {
804 | let error = NSError(domain: KKErrorDomain, code: code, userInfo: [NSLocalizedDescriptionKey: "API call failed with status code \(code)"])
805 | DispatchQueue.main.async {
| `- error: cannot find 'DispatchQueue' in scope
806 | callback(.error(error))
807 | }
/host/spi-builder-workspace/Sources/KKBOXOpenAPISwift/KKBOXOpenAPI.swift:812:5: error: cannot find 'DispatchQueue' in scope
810 |
811 | guard let data = data else {
812 | DispatchQueue.main.async {
| `- error: cannot find 'DispatchQueue' in scope
813 | callback(.error(KKBOXOpenAPIError.invalidResponse))
814 | }
/host/spi-builder-workspace/Sources/KKBOXOpenAPISwift/KKBOXOpenAPI.swift:817:4: error: cannot find 'DispatchQueue' in scope
815 | return
816 | }
817 | DispatchQueue.main.async {
| `- error: cannot find 'DispatchQueue' in scope
818 | callback(.success(data))
819 | }
/host/spi-builder-workspace/Sources/KKBOXOpenAPISwift/KKBOXOpenAPI.swift:833:17: error: cannot find 'URLRequest' in scope
831 |
832 | private func post(url: URL, data: Data?, headers: [String: String], callback: @escaping (KKAPIResult<Data>) -> ()) -> URLSessionTask {
833 | var request = URLRequest(url: url)
| `- error: cannot find 'URLRequest' in scope
834 | request.httpMethod = "POST"
835 | for (k, v) in headers {
/host/spi-builder-workspace/Sources/KKBOXOpenAPISwift/KKBOXOpenAPI.swift:840:25: error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
838 | request.setValue(KKUserAgent, forHTTPHeaderField: "User-Agent")
839 | request.httpBody = data
840 | let task = URLSession.shared.dataTask(with: request, completionHandler: self.connectionHandler(callback: callback))
| `- error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
841 | task.resume()
842 | return task
/host/spi-builder-workspace/Sources/KKBOXOpenAPISwift/KKBOXOpenAPI.swift:849:17: error: cannot find 'URLRequest' in scope
847 | throw KKBOXOpenAPIError.requireAccessToken
848 | }
849 | var request = URLRequest(url: url)
| `- error: cannot find 'URLRequest' in scope
850 | request.httpMethod = "GET"
851 | request.setValue(KKUserAgent, forHTTPHeaderField: "User-Agent")
/host/spi-builder-workspace/Sources/KKBOXOpenAPISwift/KKBOXOpenAPI.swift:853:25: error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
851 | request.setValue(KKUserAgent, forHTTPHeaderField: "User-Agent")
852 | request.setValue("Bearer \(accessToken.accessToken)", forHTTPHeaderField: "Authorization")
853 | let task = URLSession.shared.dataTask(with: request, completionHandler: self.connectionHandler(callback: callback))
| `- error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
854 | task.resume()
855 | return task
BUILD FAILURE 6.3 wasm