Use Binaries from Releases with SPM

I'm trying to find a way to have SPM function similar to how Carthage/Rome works. Currently we waste valuable time compiling dependencies so it is helpful that Carthage/Rome allows you to compile once and use the binaries. We would like to remove Carthage and stick with just SPM, but the draw back is the compiling that still happens.

For example with Carthage if you include facebook-ios-sdk it will download the .xcframeworks from the release page. However, with SPM it will still compile from source instead of using the .xcframeworks on the tagged versions release.

Does anyone know a way to get it to pull from the binaries of a tagged release if a dependency's Package.swift file doesn't have a .binaryTarget?

1 Like

This is not a feature of SPM that exists today. I'd like it to exist: the ability to transparently use compiled binaries instead of source is a nice idea. But SwiftPM can't do it today, it can only do one or the other.

2 Likes

So would the only solution right now be to create a new libraries project that has a Package.swift which references all the framework binaries I would need to use. Then add that new library git to my current project SPM?