Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Check in xcworkspace for swiftpm to git?

I'm using Swift Package Manager in Xcode. This has created a folder:

Cuppings.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/

Should this be checked into git or added to .gitignore instead?

like image 821
Alper Avatar asked Dec 21 '25 19:12

Alper


2 Answers

Apple documentation states to check in the Package.resolved file that is placed in the swiftpm directory.

See section 'Coordinate package versions across your team' on https://developer.apple.com/documentation/xcode/adding-package-dependencies-to-your-app

like image 71
Georg Avatar answered Dec 23 '25 14:12

Georg


Check it in.

The swiftpm directory stores which version of a package dependency you are using (in Package.resolved) when using Swift Package Manager (SPM).

In the following link Apple mentions this is particularly important if you're working with a team so you are all using the same version of that package: "Commit this file in Git to ensure that everyone is using the same version of a package dependency."

Note: If you open Package.resolved you'll see it has the same package version information you find in Xcode's Project navigator under Package Dependencies:

Show Package Contents of Xcode project


Show Package Contents of workspace


Open Package.resolved


{
  "pins" : [
    {
      "identity" : "abseil-cpp-swiftpm",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/firebase/abseil-cpp-SwiftPM.git",
      "state" : {
        "revision" : "583de9bd60f66b40e78d08599cc92036c2e7e4e1",
        "version" : "0.20220203.2"
      }
    },
    {
      "identity" : "boringssl-swiftpm",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/firebase/boringssl-SwiftPM.git",
      "state" : {
        "revision" : "dd3eda2b05a3f459fc3073695ad1b28659066eab",
        "version" : "0.9.1"
      }
    },
    {
      "identity" : "firebase-ios-sdk",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/firebase/firebase-ios-sdk",
      "state" : {
        "revision" : "7e80c25b51c2ffa238879b07fbfc5baa54bb3050",
        "version" : "9.6.0"
      }
    },
    {
      "identity" : "googleappmeasurement",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/google/GoogleAppMeasurement.git",
      "state" : {
        "revision" : "c1cfde8067668027b23a42c29d11c246152fe046",
        "version" : "9.6.0"
      }
    },
    {
      "identity" : "googledatatransport",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/google/GoogleDataTransport.git",
      "state" : {
        "revision" : "7874c1b48cbffd086ce8a052c4be873a78613775",
        "version" : "9.2.3"
      }
    },
    {
      "identity" : "googleutilities",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/google/GoogleUtilities.git",
      "state" : {
        "revision" : "871d43135925cde39ef7421d8723ce47edfdcc39",
        "version" : "7.11.1"
      }
    },
    {
      "identity" : "grpc-ios",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/grpc/grpc-ios.git",
      "state" : {
        "revision" : "8440b914756e0d26d4f4d054a1c1581daedfc5b6",
        "version" : "1.44.3-grpc"
      }
    },
    {
      "identity" : "gtm-session-fetcher",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/google/gtm-session-fetcher.git",
      "state" : {
        "revision" : "5ccda3981422a84186387dbb763ba739178b529c",
        "version" : "2.3.0"
      }
    },
    {
      "identity" : "leveldb",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/firebase/leveldb.git",
      "state" : {
        "revision" : "0706abcc6b0bd9cedfbb015ba840e4a780b5159b",
        "version" : "1.22.2"
      }
    },
    {
      "identity" : "nanopb",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/firebase/nanopb.git",
      "state" : {
        "revision" : "819d0a2173aff699fb8c364b6fb906f7cdb1a692",
        "version" : "2.30909.0"
      }
    },
    {
      "identity" : "promises",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/google/promises.git",
      "state" : {
        "revision" : "ec957ccddbcc710ccc64c9dcbd4c7006fcf8b73a",
        "version" : "2.2.0"
      }
    },
    {
      "identity" : "swift-protobuf",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/apple/swift-protobuf.git",
      "state" : {
        "revision" : "0af9125c4eae12a4973fb66574c53a54962a9e1e",
        "version" : "1.21.0"
      }
    }
  ],
  "version" : 2
}

Xcode Project navigator Package Dependencies

like image 33
TenaciousJay Avatar answered Dec 23 '25 13:12

TenaciousJay



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!