Build Information
Successful build of CocoaFob, reference 2.4.0 (f706f2), with Swift 6.4 for macOS (SPM) on 18 Sep 2026 21:18:08 UTC.
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64Build Log
========================================
RunAll
========================================
Builder version: 5.1.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/glebd/cocoafob.git
Reference: 2.4.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/glebd/cocoafob
* tag 2.4.0 -> FETCH_HEAD
HEAD is now at f706f20 Update Swift 5 for Xcode 14 and Ventura (#62)
Cloned https://github.com/glebd/cocoafob.git
Revision (git rev-parse @):
f706f2056ebc91c4d0b646333c4fb704fcb52aee
SUCCESS checkout https://github.com/glebd/cocoafob.git at 2.4.0
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.4
Building package at path: $PWD
https://github.com/glebd/cocoafob.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64
Building for debugging...
[Planning deferred tasks]
[19 / 28]
[20 / 29] CocoaFob
[29 / 69]
[32 / 69]
[37 / 69]
[39 / 69]
[43 / 69]
[45 / 69]
[48 / 69]
[51 / 69]
[53 / 69]
[54 / 69]
[60 / 69] CocoaFob
[66 / 69] CocoaFob
Build complete! (8.39 sec)
/Users/admin/builder/spi-builder-workspace/swift5/CocoaFob/LicenseGenerator.swift:68:61: [1;33mwarning: [1;39m'SecTransformExecute' was deprecated in macOS 12.0: SecTransform is no longer supported[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m66 |[0;0m guard let encoder = getEncoder() else { throw CocoaFobError.error }
[0;36m67 |[0;0m guard let group = connectTransforms(signer, encoder: encoder) else { throw CocoaFobError.error }
[0;36m68 |[0;0m let regDataCF = try cfTry(CocoaFobError.error) { return SecTransformExecute(group, $0) }
[0;36m|[0;0m `- [1;33mwarning: [1;39m'SecTransformExecute' was deprecated in macOS 12.0: SecTransform is no longer supported[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m69 |[0;0m guard let regData = regDataCF as? Data else { throw CocoaFobError.error }
[0;36m70 |[0;0m guard let reg = String(data: regData, encoding: .utf8) else { throw CocoaFobError.error }
/Users/admin/builder/spi-builder-workspace/swift5/CocoaFob/LicenseGenerator.swift:78:12: [1;33mwarning: [1;39m'SecTransformConnectTransforms' was deprecated in macOS 12.0: SecTransform is no longer supported[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m76 |[0;0m fileprivate func connectTransforms(_ signer: SecTransform, encoder: SecTransform) -> SecGroupTransform? {
[0;36m77 |[0;0m guard let groupTransform = getGroupTransform() else { return nil }
[0;36m78 |[0;0m return SecTransformConnectTransforms(signer, kSecTransformOutputAttributeName, encoder, kSecTransformInputAttributeName, groupTransform, nil)
[0;36m|[0;0m `- [1;33mwarning: [1;39m'SecTransformConnectTransforms' was deprecated in macOS 12.0: SecTransform is no longer supported[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m79 |[0;0m }
[0;36m80 |[0;0m
/Users/admin/builder/spi-builder-workspace/swift5/CocoaFob/LicenseGenerator.swift:78:50: [1;33mwarning: [1;39m'kSecTransformOutputAttributeName' was deprecated in macOS 12.0: SecTransform is no longer supported[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m76 |[0;0m fileprivate func connectTransforms(_ signer: SecTransform, encoder: SecTransform) -> SecGroupTransform? {
[0;36m77 |[0;0m guard let groupTransform = getGroupTransform() else { return nil }
[0;36m78 |[0;0m return SecTransformConnectTransforms(signer, kSecTransformOutputAttributeName, encoder, kSecTransformInputAttributeName, groupTransform, nil)
[0;36m|[0;0m `- [1;33mwarning: [1;39m'kSecTransformOutputAttributeName' was deprecated in macOS 12.0: SecTransform is no longer supported[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m79 |[0;0m }
[0;36m80 |[0;0m
/Users/admin/builder/spi-builder-workspace/swift5/CocoaFob/LicenseGenerator.swift:78:93: [1;33mwarning: [1;39m'kSecTransformInputAttributeName' was deprecated in macOS 12.0: SecTransform is no longer supported[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m76 |[0;0m fileprivate func connectTransforms(_ signer: SecTransform, encoder: SecTransform) -> SecGroupTransform? {
[0;36m77 |[0;0m guard let groupTransform = getGroupTransform() else { return nil }
[0;36m78 |[0;0m return SecTransformConnectTransforms(signer, kSecTransformOutputAttributeName, encoder, kSecTransformInputAttributeName, groupTransform, nil)
[0;36m|[0;0m `- [1;33mwarning: [1;39m'kSecTransformInputAttributeName' was deprecated in macOS 12.0: SecTransform is no longer supported[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m79 |[0;0m }
[0;36m80 |[0;0m
/Users/admin/builder/spi-builder-workspace/swift5/CocoaFob/LicenseGenerator.swift:82:12: [1;33mwarning: [1;39m'SecTransformCreateGroupTransform()' was deprecated in macOS 12.0: SecTransform is no longer supported[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m80 |[0;0m
[0;36m81 |[0;0m fileprivate func getGroupTransform() -> SecGroupTransform? {
[0;36m82 |[0;0m return SecTransformCreateGroupTransform()
[0;36m|[0;0m `- [1;33mwarning: [1;39m'SecTransformCreateGroupTransform()' was deprecated in macOS 12.0: SecTransform is no longer supported[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m83 |[0;0m }
[0;36m84 |[0;0m
/Users/admin/builder/spi-builder-workspace/swift5/CocoaFob/LicenseGenerator.swift:92:42: [1;33mwarning: [1;39m'SecTransformSetAttribute' was deprecated in macOS 12.0: SecTransform is no longer supported[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m90 |[0;0m do {
[0;36m91 |[0;0m let signer = try cfTry(.error) { return SecSignTransformCreate(self.privKey, $0) }
[0;36m92 |[0;0m let _ = try cfTry(.error) { return SecTransformSetAttribute(signer, kSecTransformInputAttributeName, nameData as CFTypeRef, $0) }
[0;36m|[0;0m `- [1;33mwarning: [1;39m'SecTransformSetAttribute' was deprecated in macOS 12.0: SecTransform is no longer supported[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m93 |[0;0m let _ = try cfTry(.error) { return SecTransformSetAttribute(signer, kSecDigestTypeAttribute, kSecDigestSHA1, $0) }
[0;36m94 |[0;0m return signer
/Users/admin/builder/spi-builder-workspace/swift5/CocoaFob/LicenseGenerator.swift:92:75: [1;33mwarning: [1;39m'kSecTransformInputAttributeName' was deprecated in macOS 12.0: SecTransform is no longer supported[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m90 |[0;0m do {
[0;36m91 |[0;0m let signer = try cfTry(.error) { return SecSignTransformCreate(self.privKey, $0) }
[0;36m92 |[0;0m let _ = try cfTry(.error) { return SecTransformSetAttribute(signer, kSecTransformInputAttributeName, nameData as CFTypeRef, $0) }
[0;36m|[0;0m `- [1;33mwarning: [1;39m'kSecTransformInputAttributeName' was deprecated in macOS 12.0: SecTransform is no longer supported[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m93 |[0;0m let _ = try cfTry(.error) { return SecTransformSetAttribute(signer, kSecDigestTypeAttribute, kSecDigestSHA1, $0) }
[0;36m94 |[0;0m return signer
/Users/admin/builder/spi-builder-workspace/swift5/CocoaFob/LicenseGenerator.swift:93:42: [1;33mwarning: [1;39m'SecTransformSetAttribute' was deprecated in macOS 12.0: SecTransform is no longer supported[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m91 |[0;0m let signer = try cfTry(.error) { return SecSignTransformCreate(self.privKey, $0) }
[0;36m92 |[0;0m let _ = try cfTry(.error) { return SecTransformSetAttribute(signer, kSecTransformInputAttributeName, nameData as CFTypeRef, $0) }
[0;36m93 |[0;0m let _ = try cfTry(.error) { return SecTransformSetAttribute(signer, kSecDigestTypeAttribute, kSecDigestSHA1, $0) }
[0;36m|[0;0m `- [1;33mwarning: [1;39m'SecTransformSetAttribute' was deprecated in macOS 12.0: SecTransform is no longer supported[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m94 |[0;0m return signer
[0;36m95 |[0;0m } catch {
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/Users/admin/builder/spi-builder-workspace/swift5/CocoaFob/LicenseVerifier.swift:67:43: [1;33mwarning: [1;39m'SecTransformExecute' was deprecated in macOS 12.0: SecTransform is no longer supported[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m65 |[0;0m guard let nameData = name.data(using: String.Encoding.utf8) else { return false }
[0;36m66 |[0;0m let decoder = try getDecoder(keyData)
[0;36m67 |[0;0m let signature = try cfTry(.error) { SecTransformExecute(decoder, $0) }
[0;36m|[0;0m `- [1;33mwarning: [1;39m'SecTransformExecute' was deprecated in macOS 12.0: SecTransform is no longer supported[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m68 |[0;0m
[0;36m69 |[0;0m // reverse the signature to check for truncated data / additional data entered by the user
/Users/admin/builder/spi-builder-workspace/swift5/CocoaFob/LicenseVerifier.swift:71:50: [1;33mwarning: [1;39m'SecTransformExecute' was deprecated in macOS 12.0: SecTransform is no longer supported[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m69 |[0;0m // reverse the signature to check for truncated data / additional data entered by the user
[0;36m70 |[0;0m let encoder = try getEncoder(signature as! Data)
[0;36m71 |[0;0m let reverseSignature = try cfTry(.error) { SecTransformExecute(encoder, $0) }
[0;36m|[0;0m `- [1;33mwarning: [1;39m'SecTransformExecute' was deprecated in macOS 12.0: SecTransform is no longer supported[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m72 |[0;0m let reverseSignatureString = String(decoding: reverseSignature as! Data, as: UTF8.self).replacingOccurrences(of: "=", with: "")
[0;36m73 |[0;0m if(reverseSignatureString != keyString) { return false }
/Users/admin/builder/spi-builder-workspace/swift5/CocoaFob/LicenseVerifier.swift:76:40: [1;33mwarning: [1;39m'SecTransformExecute' was deprecated in macOS 12.0: SecTransform is no longer supported[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m74 |[0;0m
[0;36m75 |[0;0m let verifier = try getVerifier(self.pubKey, signature: signature as! Data, nameData: nameData)
[0;36m76 |[0;0m let result = try cfTry(.error) { SecTransformExecute(verifier, $0) }
[0;36m|[0;0m `- [1;33mwarning: [1;39m'SecTransformExecute' was deprecated in macOS 12.0: SecTransform is no longer supported[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m77 |[0;0m let boolResult = result as! CFBoolean
[0;36m78 |[0;0m return Bool(truncating: boolResult)
/Users/admin/builder/spi-builder-workspace/swift5/CocoaFob/LicenseVerifier.swift:87:40: [1;33mwarning: [1;39m'SecTransformSetAttribute' was deprecated in macOS 12.0: SecTransform is no longer supported[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m85 |[0;0m fileprivate func getEncoder(_ signature: Data) throws -> SecTransform {
[0;36m86 |[0;0m let encoder = try cfTry(.error) { return SecEncodeTransformCreate(kSecBase32Encoding, $0) }
[0;36m87 |[0;0m let _ = try cfTry(.error) { return SecTransformSetAttribute(encoder, kSecTransformInputAttributeName, signature as CFTypeRef, $0) }
[0;36m|[0;0m `- [1;33mwarning: [1;39m'SecTransformSetAttribute' was deprecated in macOS 12.0: SecTransform is no longer supported[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m88 |[0;0m return encoder
[0;36m89 |[0;0m }
/Users/admin/builder/spi-builder-workspace/swift5/CocoaFob/LicenseVerifier.swift:87:74: [1;33mwarning: [1;39m'kSecTransformInputAttributeName' was deprecated in macOS 12.0: SecTransform is no longer supported[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m85 |[0;0m fileprivate func getEncoder(_ signature: Data) throws -> SecTransform {
[0;36m86 |[0;0m let encoder = try cfTry(.error) { return SecEncodeTransformCreate(kSecBase32Encoding, $0) }
[0;36m87 |[0;0m let _ = try cfTry(.error) { return SecTransformSetAttribute(encoder, kSecTransformInputAttributeName, signature as CFTypeRef, $0) }
[0;36m|[0;0m `- [1;33mwarning: [1;39m'kSecTransformInputAttributeName' was deprecated in macOS 12.0: SecTransform is no longer supported[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m88 |[0;0m return encoder
[0;36m89 |[0;0m }
/Users/admin/builder/spi-builder-workspace/swift5/CocoaFob/LicenseVerifier.swift:93:40: [1;33mwarning: [1;39m'SecTransformSetAttribute' was deprecated in macOS 12.0: SecTransform is no longer supported[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m91 |[0;0m fileprivate func getDecoder(_ keyData: Data) throws -> SecTransform {
[0;36m92 |[0;0m let decoder = try cfTry(.error) { return SecDecodeTransformCreate(kSecBase32Encoding, $0) }
[0;36m93 |[0;0m let _ = try cfTry(.error) { return SecTransformSetAttribute(decoder, kSecTransformInputAttributeName, keyData as CFTypeRef, $0) }
[0;36m|[0;0m `- [1;33mwarning: [1;39m'SecTransformSetAttribute' was deprecated in macOS 12.0: SecTransform is no longer supported[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m94 |[0;0m return decoder
[0;36m95 |[0;0m }
/Users/admin/builder/spi-builder-workspace/swift5/CocoaFob/LicenseVerifier.swift:93:74: [1;33mwarning: [1;39m'kSecTransformInputAttributeName' was deprecated in macOS 12.0: SecTransform is no longer supported[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m91 |[0;0m fileprivate func getDecoder(_ keyData: Data) throws -> SecTransform {
[0;36m92 |[0;0m let decoder = try cfTry(.error) { return SecDecodeTransformCreate(kSecBase32Encoding, $0) }
[0;36m93 |[0;0m let _ = try cfTry(.error) { return SecTransformSetAttribute(decoder, kSecTransformInputAttributeName, keyData as CFTypeRef, $0) }
[0;36m|[0;0m `- [1;33mwarning: [1;39m'kSecTransformInputAttributeName' was deprecated in macOS 12.0: SecTransform is no longer supported[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m94 |[0;0m return decoder
[0;36m95 |[0;0m }
/Users/admin/builder/spi-builder-workspace/swift5/CocoaFob/LicenseVerifier.swift:99:40: [1;33mwarning: [1;39m'SecTransformSetAttribute' was deprecated in macOS 12.0: SecTransform is no longer supported[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m97 |[0;0m fileprivate func getVerifier(_ publicKey: SecKey, signature: Data, nameData: Data) throws -> SecTransform {
[0;36m98 |[0;0m let verifier = try cfTry(.error) { return SecVerifyTransformCreate(publicKey, signature as CFData?, $0) }
[0;36m99 |[0;0m let _ = try cfTry(.error) { return SecTransformSetAttribute(verifier, kSecTransformInputAttributeName, nameData as CFTypeRef, $0) }
[0;36m|[0;0m `- [1;33mwarning: [1;39m'SecTransformSetAttribute' was deprecated in macOS 12.0: SecTransform is no longer supported[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m100 |[0;0m let _ = try cfTry(.error) { return SecTransformSetAttribute(verifier, kSecDigestTypeAttribute, kSecDigestSHA1, $0) }
[0;36m101 |[0;0m return verifier
/Users/admin/builder/spi-builder-workspace/swift5/CocoaFob/LicenseVerifier.swift:99:75: [1;33mwarning: [1;39m'kSecTransformInputAttributeName' was deprecated in macOS 12.0: SecTransform is no longer supported[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m97 |[0;0m fileprivate func getVerifier(_ publicKey: SecKey, signature: Data, nameData: Data) throws -> SecTransform {
[0;36m98 |[0;0m let verifier = try cfTry(.error) { return SecVerifyTransformCreate(publicKey, signature as CFData?, $0) }
[0;36m99 |[0;0m let _ = try cfTry(.error) { return SecTransformSetAttribute(verifier, kSecTransformInputAttributeName, nameData as CFTypeRef, $0) }
[0;36m|[0;0m `- [1;33mwarning: [1;39m'kSecTransformInputAttributeName' was deprecated in macOS 12.0: SecTransform is no longer supported[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m100 |[0;0m let _ = try cfTry(.error) { return SecTransformSetAttribute(verifier, kSecDigestTypeAttribute, kSecDigestSHA1, $0) }
[0;36m101 |[0;0m return verifier
/Users/admin/builder/spi-builder-workspace/swift5/CocoaFob/LicenseVerifier.swift:100:40: [1;33mwarning: [1;39m'SecTransformSetAttribute' was deprecated in macOS 12.0: SecTransform is no longer supported[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m98 |[0;0m let verifier = try cfTry(.error) { return SecVerifyTransformCreate(publicKey, signature as CFData?, $0) }
[0;36m99 |[0;0m let _ = try cfTry(.error) { return SecTransformSetAttribute(verifier, kSecTransformInputAttributeName, nameData as CFTypeRef, $0) }
[0;36m100 |[0;0m let _ = try cfTry(.error) { return SecTransformSetAttribute(verifier, kSecDigestTypeAttribute, kSecDigestSHA1, $0) }
[0;36m|[0;0m `- [1;33mwarning: [1;39m'SecTransformSetAttribute' was deprecated in macOS 12.0: SecTransform is no longer supported[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m101 |[0;0m return verifier
[0;36m102 |[0;0m }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "CocoaFob",
"name" : "CocoaFob",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "10.13"
}
],
"products" : [
{
"name" : "CocoaFob",
"targets" : [
"CocoaFob"
],
"type" : {
"library" : [
"static"
]
}
}
],
"targets" : [
{
"c99name" : "CocoaFobTests",
"module_type" : "SwiftTarget",
"name" : "CocoaFobTests",
"path" : "swift5/CocoaFobTests",
"sources" : [
"CocoaFobTests.swift"
],
"target_dependencies" : [
"CocoaFob"
],
"type" : "test"
},
{
"c99name" : "CocoaFob",
"module_type" : "SwiftTarget",
"name" : "CocoaFob",
"path" : "swift5/CocoaFob",
"product_memberships" : [
"CocoaFob"
],
"sources" : [
"CFUtil.swift",
"CocoaFobError.swift",
"LicenseGenerator.swift",
"LicenseVerifier.swift",
"String+CocoaFob.swift"
],
"type" : "library"
}
],
"tools_version" : "5.5"
}
Done.