The Swift Package Index logo.Swift Package Index

Has it really been five years since Swift Package Index launched? Read our anniversary blog post!

Build Information

Successful build of IceCream, reference 2.1.0 (e1d07b), with Swift 6.2 (beta) for macOS (SPM) on 20 Jun 2025 02:54:39 UTC.

Swift 6 data race errors: 0

Build Command

env DEVELOPER_DIR=/Applications/Xcode-26.0.0-Beta.app xcrun swift build --arch arm64

Build Log

========================================
RunAll
========================================
Builder version: 4.64.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/caiyue1993/IceCream.git
Reference: 2.1.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/caiyue1993/IceCream
 * tag               2.1.0      -> FETCH_HEAD
HEAD is now at e1d07b3 include CreamLocation file to pbxproj
Cloned https://github.com/caiyue1993/IceCream.git
Revision (git rev-parse @):
e1d07b31bd0e1a65b89ac72f629f4df6f6707fd3
SUCCESS checkout https://github.com/caiyue1993/IceCream.git at 2.1.0
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.2
Building package at path:  $PWD
https://github.com/caiyue1993/IceCream.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-26.0.0-Beta.app xcrun swift build --arch arm64
Building for debugging...
[0/53] Write swift-version-1EA4D86E10B52AF.txt
[1/53] Write sources
[2/53] Compiling external_commit_helper.cpp
[3/53] Compiling keychain_helper.cpp
[4/53] Compiling RLMPredicateUtil.mm
[5/53] Compiling list_notifier.cpp
[5/53] Compiling primitive_list_notifier.cpp
[7/53] Compiling object_notifier.cpp
[8/53] Compiling RLMProperty.mm
[9/53] Compiling RLMUtil.mm
[10/53] Compiling results_notifier.cpp
[11/53] Compiling RLMUpdateChecker.mm
[12/53] Compiling realm_coordinator.cpp
[13/53] Compiling RLMRealmConfiguration.mm
[14/53] Compiling RLMThreadSafeReference.mm
[15/53] Compiling RLMSwiftSupport.m
[16/53] Compiling RLMRealmUtil.mm
[17/53] Compiling RLMSchema.mm
[18/53] Compiling RLMResults.mm
[19/53] Compiling RLMRealm.mm
[20/53] Compiling RLMObjectSchema.mm
[21/53] Compiling RLMOptionalBase.mm
[22/53] Compiling RLMConstants.m
[23/53] Compiling RLMObservation.mm
[24/53] Compiling RLMObjectStore.mm
[25/53] Compiling RLMObject.mm
[26/53] Compiling RLMObjectBase.mm
[27/53] Compiling RLMMigration.mm
[28/53] Compiling RLMListBase.mm
[29/53] Compiling RLMManagedArray.mm
[30/53] Compiling uuid.cpp
[31/53] Compiling RLMAnalytics.mm
[32/53] Compiling RLMClassInfo.mm
[33/53] Compiling RLMQueryUtil.mm
[34/53] Compiling RLMCollection.mm
[35/53] Compiling RLMArray.mm
[36/53] Compiling thread_safe_reference.cpp
[37/53] Compiling schema.cpp
[38/53] Compiling RLMAccessor.mm
[39/53] Compiling index_set.cpp
[40/53] Compiling object_schema.cpp
[41/53] Compiling weak_realm_notifier.cpp
[42/53] Compiling object.cpp
[42/53] Write sources
[44/53] Compiling binding_callback_thread_observer.cpp
[45/53] Compiling shared_realm.cpp
[46/53] Compiling object_store.cpp
[47/53] Compiling results.cpp
[48/53] Compiling list.cpp
[49/53] Compiling collection_notifications.cpp
[50/53] Compiling collection_change_builder.cpp
[51/53] Compiling collection_notifier.cpp
[52/53] Compiling transact_log_handler.cpp
[54/72] Compiling RealmSwift SortDescriptor.swift
[55/72] Compiling RealmSwift ThreadSafeReference.swift
[56/72] Compiling RealmSwift Results.swift
[57/72] Compiling RealmSwift Schema.swift
[58/72] Compiling RealmSwift ObjectiveCSupport.swift
[59/72] Compiling RealmSwift Optional.swift
[60/72] Compiling RealmSwift RealmCollection.swift
[61/72] Compiling RealmSwift RealmConfiguration.swift
[62/73] Compiling RealmSwift Object.swift
[63/73] Compiling RealmSwift ObjectSchema.swift
[64/73] Emitting module RealmSwift
[65/73] Compiling RealmSwift Property.swift
[66/73] Compiling RealmSwift Realm.swift
[67/73] Compiling RealmSwift Aliases.swift
[68/73] Compiling RealmSwift Error.swift
[69/73] Compiling RealmSwift LinkingObjects.swift
[70/73] Compiling RealmSwift List.swift
[71/73] Compiling RealmSwift Migration.swift
[72/73] Compiling RealmSwift Nonsync.swift
[73/73] Compiling RealmSwift Util.swift
[74/88] Compiling IceCream ErrorHandler.swift
[75/88] Compiling IceCream Manifest.swift
[76/89] Compiling IceCream SyncObject.swift
[77/89] Compiling IceCream SyncEngine.swift
/Users/admin/builder/spi-builder-workspace/IceCream/Classes/SyncEngine.swift:42:13: warning: switch must be exhaustive
 40 |         databaseManager.container.accountStatus { [weak self] (status, error) in
 41 |             guard let self = self else { return }
 42 |             switch status {
    |             |- warning: switch must be exhaustive
    |             `- note: add missing case: '.temporarilyUnavailable'
 43 |             case .available:
 44 |                 self.databaseManager.registerLocalDatabase()
[78/89] Compiling IceCream Syncable.swift
/Users/admin/builder/spi-builder-workspace/IceCream/Classes/Syncable.swift:14:27: warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead [#deprecation]
12 | /// Since `sync` is an informal version of `synchronize`, so we choose the `syncable` word for
13 | /// the ability of synchronization.
14 | public protocol Syncable: class {
   |                           `- warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead [#deprecation]
15 |
16 |     /// CKRecordZone related
[79/89] Compiling IceCream PublicDatabaseManager.swift
[80/89] Compiling IceCream Notification+Name.swift
[81/89] Compiling IceCream PendingRelationshipsWorker.swift
[82/89] Compiling IceCream CreamLocation.swift
/Users/admin/builder/spi-builder-workspace/IceCream/Classes/DatabaseManagerProtocol.swift:10:27: warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead [#deprecation]
  8 | import CloudKit
  9 |
 10 | protocol DatabaseManager: class {
    |                           `- warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead [#deprecation]
 11 |
 12 |     /// A conduit for accessing and performing operations on the data of an app container.
/Users/admin/builder/spi-builder-workspace/IceCream/Classes/DatabaseManagerProtocol.swift:57:30: warning: capture of non-sendable type 'Self.Type' in an isolated closure
 55 |     func resumeLongLivedOperationIfPossible() {
 56 |         container.fetchAllLongLivedOperationIDs { [weak self]( opeIDs, error) in
 57 |             guard let self = self, error == nil, let ids = opeIDs else { return }
    |                              `- warning: capture of non-sendable type 'Self.Type' in an isolated closure
 58 |             for id in ids {
 59 |                 self.container.fetchLongLivedOperation(withID: id, completionHandler: { [weak self](ope, error) in
/Users/admin/builder/spi-builder-workspace/IceCream/Classes/DatabaseManagerProtocol.swift:56:57: warning: capture of non-sendable type 'Self.Type' in an isolated closure
 54 |
 55 |     func resumeLongLivedOperationIfPossible() {
 56 |         container.fetchAllLongLivedOperationIDs { [weak self]( opeIDs, error) in
    |                                                         `- warning: capture of non-sendable type 'Self.Type' in an isolated closure
 57 |             guard let self = self, error == nil, let ids = opeIDs else { return }
 58 |             for id in ids {
/Users/admin/builder/spi-builder-workspace/IceCream/Classes/DatabaseManagerProtocol.swift:60:38: warning: capture of non-sendable type 'Self.Type' in an isolated closure
 58 |             for id in ids {
 59 |                 self.container.fetchLongLivedOperation(withID: id, completionHandler: { [weak self](ope, error) in
 60 |                     guard let self = self, error == nil else { return }
    |                                      `- warning: capture of non-sendable type 'Self.Type' in an isolated closure
 61 |                     if let modifyOp = ope as? CKModifyRecordsOperation {
 62 |                         modifyOp.modifyRecordsCompletionBlock = { (_,_,_) in
/Users/admin/builder/spi-builder-workspace/IceCream/Classes/DatabaseManagerProtocol.swift:59:95: warning: capture of non-sendable type 'Self.Type' in an isolated closure
 57 |             guard let self = self, error == nil, let ids = opeIDs else { return }
 58 |             for id in ids {
 59 |                 self.container.fetchLongLivedOperation(withID: id, completionHandler: { [weak self](ope, error) in
    |                                                                                               `- warning: capture of non-sendable type 'Self.Type' in an isolated closure
 60 |                     guard let self = self, error == nil else { return }
 61 |                     if let modifyOp = ope as? CKModifyRecordsOperation {
/Users/admin/builder/spi-builder-workspace/IceCream/Classes/DatabaseManagerProtocol.swift:82:30: warning: capture of non-sendable type 'Self.Type' in an isolated closure
 80 |     func startObservingRemoteChanges() {
 81 |         NotificationCenter.default.addObserver(forName: Notifications.cloudKitDataDidChangeRemotely.name, object: nil, queue: nil, using: { [weak self](_) in
 82 |             guard let self = self else { return }
    |                              `- warning: capture of non-sendable type 'Self.Type' in an isolated closure
 83 |             DispatchQueue.global(qos: .utility).async {
 84 |                 self.fetchChangesInDatabase(nil)
/Users/admin/builder/spi-builder-workspace/IceCream/Classes/DatabaseManagerProtocol.swift:81:147: warning: capture of non-sendable type 'Self.Type' in an isolated closure
 79 |
 80 |     func startObservingRemoteChanges() {
 81 |         NotificationCenter.default.addObserver(forName: Notifications.cloudKitDataDidChangeRemotely.name, object: nil, queue: nil, using: { [weak self](_) in
    |                                                                                                                                                   `- warning: capture of non-sendable type 'Self.Type' in an isolated closure
 82 |             guard let self = self else { return }
 83 |             DispatchQueue.global(qos: .utility).async {
/Users/admin/builder/spi-builder-workspace/IceCream/Classes/DatabaseManagerProtocol.swift:84:17: warning: capture of non-sendable type 'Self.Type' in an isolated closure
 82 |             guard let self = self else { return }
 83 |             DispatchQueue.global(qos: .utility).async {
 84 |                 self.fetchChangesInDatabase(nil)
    |                 `- warning: capture of non-sendable type 'Self.Type' in an isolated closure
 85 |             }
 86 |         })
/Users/admin/builder/spi-builder-workspace/IceCream/Classes/DatabaseManagerProtocol.swift:82:23: warning: capture of non-sendable type 'Self.Type' in an isolated closure
 80 |     func startObservingRemoteChanges() {
 81 |         NotificationCenter.default.addObserver(forName: Notifications.cloudKitDataDidChangeRemotely.name, object: nil, queue: nil, using: { [weak self](_) in
 82 |             guard let self = self else { return }
    |                       `- warning: capture of non-sendable type 'Self.Type' in an isolated closure
 83 |             DispatchQueue.global(qos: .utility).async {
 84 |                 self.fetchChangesInDatabase(nil)
[83/89] Compiling IceCream DatabaseManagerProtocol.swift
/Users/admin/builder/spi-builder-workspace/IceCream/Classes/DatabaseManagerProtocol.swift:10:27: warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead [#deprecation]
  8 | import CloudKit
  9 |
 10 | protocol DatabaseManager: class {
    |                           `- warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead [#deprecation]
 11 |
 12 |     /// A conduit for accessing and performing operations on the data of an app container.
/Users/admin/builder/spi-builder-workspace/IceCream/Classes/DatabaseManagerProtocol.swift:57:30: warning: capture of non-sendable type 'Self.Type' in an isolated closure
 55 |     func resumeLongLivedOperationIfPossible() {
 56 |         container.fetchAllLongLivedOperationIDs { [weak self]( opeIDs, error) in
 57 |             guard let self = self, error == nil, let ids = opeIDs else { return }
    |                              `- warning: capture of non-sendable type 'Self.Type' in an isolated closure
 58 |             for id in ids {
 59 |                 self.container.fetchLongLivedOperation(withID: id, completionHandler: { [weak self](ope, error) in
/Users/admin/builder/spi-builder-workspace/IceCream/Classes/DatabaseManagerProtocol.swift:56:57: warning: capture of non-sendable type 'Self.Type' in an isolated closure
 54 |
 55 |     func resumeLongLivedOperationIfPossible() {
 56 |         container.fetchAllLongLivedOperationIDs { [weak self]( opeIDs, error) in
    |                                                         `- warning: capture of non-sendable type 'Self.Type' in an isolated closure
 57 |             guard let self = self, error == nil, let ids = opeIDs else { return }
 58 |             for id in ids {
/Users/admin/builder/spi-builder-workspace/IceCream/Classes/DatabaseManagerProtocol.swift:60:38: warning: capture of non-sendable type 'Self.Type' in an isolated closure
 58 |             for id in ids {
 59 |                 self.container.fetchLongLivedOperation(withID: id, completionHandler: { [weak self](ope, error) in
 60 |                     guard let self = self, error == nil else { return }
    |                                      `- warning: capture of non-sendable type 'Self.Type' in an isolated closure
 61 |                     if let modifyOp = ope as? CKModifyRecordsOperation {
 62 |                         modifyOp.modifyRecordsCompletionBlock = { (_,_,_) in
/Users/admin/builder/spi-builder-workspace/IceCream/Classes/DatabaseManagerProtocol.swift:59:95: warning: capture of non-sendable type 'Self.Type' in an isolated closure
 57 |             guard let self = self, error == nil, let ids = opeIDs else { return }
 58 |             for id in ids {
 59 |                 self.container.fetchLongLivedOperation(withID: id, completionHandler: { [weak self](ope, error) in
    |                                                                                               `- warning: capture of non-sendable type 'Self.Type' in an isolated closure
 60 |                     guard let self = self, error == nil else { return }
 61 |                     if let modifyOp = ope as? CKModifyRecordsOperation {
/Users/admin/builder/spi-builder-workspace/IceCream/Classes/DatabaseManagerProtocol.swift:82:30: warning: capture of non-sendable type 'Self.Type' in an isolated closure
 80 |     func startObservingRemoteChanges() {
 81 |         NotificationCenter.default.addObserver(forName: Notifications.cloudKitDataDidChangeRemotely.name, object: nil, queue: nil, using: { [weak self](_) in
 82 |             guard let self = self else { return }
    |                              `- warning: capture of non-sendable type 'Self.Type' in an isolated closure
 83 |             DispatchQueue.global(qos: .utility).async {
 84 |                 self.fetchChangesInDatabase(nil)
/Users/admin/builder/spi-builder-workspace/IceCream/Classes/DatabaseManagerProtocol.swift:81:147: warning: capture of non-sendable type 'Self.Type' in an isolated closure
 79 |
 80 |     func startObservingRemoteChanges() {
 81 |         NotificationCenter.default.addObserver(forName: Notifications.cloudKitDataDidChangeRemotely.name, object: nil, queue: nil, using: { [weak self](_) in
    |                                                                                                                                                   `- warning: capture of non-sendable type 'Self.Type' in an isolated closure
 82 |             guard let self = self else { return }
 83 |             DispatchQueue.global(qos: .utility).async {
/Users/admin/builder/spi-builder-workspace/IceCream/Classes/DatabaseManagerProtocol.swift:84:17: warning: capture of non-sendable type 'Self.Type' in an isolated closure
 82 |             guard let self = self else { return }
 83 |             DispatchQueue.global(qos: .utility).async {
 84 |                 self.fetchChangesInDatabase(nil)
    |                 `- warning: capture of non-sendable type 'Self.Type' in an isolated closure
 85 |             }
 86 |         })
/Users/admin/builder/spi-builder-workspace/IceCream/Classes/DatabaseManagerProtocol.swift:82:23: warning: capture of non-sendable type 'Self.Type' in an isolated closure
 80 |     func startObservingRemoteChanges() {
 81 |         NotificationCenter.default.addObserver(forName: Notifications.cloudKitDataDidChangeRemotely.name, object: nil, queue: nil, using: { [weak self](_) in
 82 |             guard let self = self else { return }
    |                       `- warning: capture of non-sendable type 'Self.Type' in an isolated closure
 83 |             DispatchQueue.global(qos: .utility).async {
 84 |                 self.fetchChangesInDatabase(nil)
[84/89] Compiling IceCream BackgroundWorker.swift
[85/89] Compiling IceCream CKRecordConvertible.swift
[86/89] Emitting module IceCream
/Users/admin/builder/spi-builder-workspace/IceCream/Classes/DatabaseManagerProtocol.swift:10:27: warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead [#deprecation]
  8 | import CloudKit
  9 |
 10 | protocol DatabaseManager: class {
    |                           `- warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead [#deprecation]
 11 |
 12 |     /// A conduit for accessing and performing operations on the data of an app container.
/Users/admin/builder/spi-builder-workspace/IceCream/Classes/Syncable.swift:14:27: warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead [#deprecation]
12 | /// Since `sync` is an informal version of `synchronize`, so we choose the `syncable` word for
13 | /// the ability of synchronization.
14 | public protocol Syncable: class {
   |                           `- warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead [#deprecation]
15 |
16 |     /// CKRecordZone related
[87/89] Compiling IceCream PrivateDatabaseManager.swift
[88/89] Compiling IceCream CKRecordRecoverable.swift
[89/89] Compiling IceCream CreamAsset.swift
Build complete! (41.58s)
Fetching https://github.com/realm/realm-cocoa
[1/131359] Fetching realm-cocoa
Fetched https://github.com/realm/realm-cocoa from cache (6.52s)
Computing version for https://github.com/realm/realm-cocoa
Computed https://github.com/realm/realm-cocoa at 4.4.1 (7.10s)
Fetching https://github.com/realm/realm-core
[1/252487] Fetching realm-core
Fetched https://github.com/realm/realm-core from cache (10.45s)
Computing version for https://github.com/realm/realm-core
Computed https://github.com/realm/realm-core at 5.23.8 (11.02s)
Creating working copy for https://github.com/realm/realm-core
Working copy of https://github.com/realm/realm-core resolved at 5.23.8
Creating working copy for https://github.com/realm/realm-cocoa
Working copy of https://github.com/realm/realm-cocoa resolved at 4.4.1
Build complete.
{
  "dependencies" : [
    {
      "identity" : "realm-cocoa",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "4.1.1",
            "upper_bound" : "5.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/realm/realm-cocoa"
    }
  ],
  "manifest_display_name" : "IceCream",
  "name" : "IceCream",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.12"
    },
    {
      "name" : "ios",
      "version" : "10.0"
    },
    {
      "name" : "tvos",
      "version" : "10.0"
    },
    {
      "name" : "watchos",
      "version" : "3.0"
    }
  ],
  "products" : [
    {
      "name" : "IceCream",
      "targets" : [
        "IceCream"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "swift_languages_versions" : [
    "5"
  ],
  "targets" : [
    {
      "c99name" : "IceCream",
      "module_type" : "SwiftTarget",
      "name" : "IceCream",
      "path" : "IceCream",
      "product_dependencies" : [
        "RealmSwift",
        "Realm"
      ],
      "product_memberships" : [
        "IceCream"
      ],
      "sources" : [
        "Classes/BackgroundWorker.swift",
        "Classes/CKRecordConvertible.swift",
        "Classes/CKRecordRecoverable.swift",
        "Classes/CreamAsset.swift",
        "Classes/CreamLocation.swift",
        "Classes/DatabaseManagerProtocol.swift",
        "Classes/ErrorHandler.swift",
        "Classes/Manifest.swift",
        "Classes/Notification+Name.swift",
        "Classes/PendingRelationshipsWorker.swift",
        "Classes/PrivateDatabaseManager.swift",
        "Classes/PublicDatabaseManager.swift",
        "Classes/SyncEngine.swift",
        "Classes/SyncObject.swift",
        "Classes/Syncable.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.1"
}
Done.