Chris Marshall
Implementing Swift Package Manager –Conclusion
Whew! That Was A Handful, Eh?
Even though it may seem that this was a comprehensive treatment of the Swift Package Manager, it was really just a fairly basic introduction.
The examples were shallow and linear, and we didn’t even get into writing executable code in the package manifest files.
But we did learn enough to make the Swift Package Manager a useful and productive tool for our development work.
Implementing Swift Package Manager –Example 7
Three Layers Of Packages, With All Static Libraries
Here is the GitHub link to the PackageConsumer
project Version 7.0.0. You can check out that version, and reproduce the results here.
Implementing Swift Package Manager –Example 6
Three Layers Of Packages, With A One-Level-Down Dynamic Framework
In this example, we include a package, represented as a static library, that embeds a dylib, that embeds another static library (“dylib sandwich”).
This has the same issue as Example 3, where dynamic frameworks can present challenges, when using the Hardened Runtime.
Here is the GitHub link to the PackageConsumer
project Version 6.0.0. You can check out that version, and reproduce the results here.
Implementing Swift Package Manager –Example 5
Three Layers Of Packages, With Dynamic Frameworks
In this example, we include a package, represented as a dylib, that embeds another dylib, that embeds a static library.
This has the same issue as Example 3, where dynamic frameworks can present challenges, when using the Hardened Runtime.
Here is the GitHub link to the PackageConsumer
project Version 5.0.0. You can check out that version, and reproduce the results here.
Implementing Swift Package Manager –Example 4
Simple Static Packages (Second Version)
In this example, the PackageConsumer
utility simply consumes Package_BPrime
, Version 2.0.0, which is a static library, that, in turn, consumes Package_A
Version 2.0.0 (also a static library).
This is pretty much exactly the same as Example 2, but with different versions specified.
Here is the GitHub link to the PackageConsumer
project Version 4.0.0. You can check out that version, and reproduce the results here.
Implementing Swift Package Manager –Example 3
Simple Nested Libraries, With the Top One Being Dynamic
In this example, the PackageConsumer
utility simply consumes Package_C
, Version 1.0.0, which is a dynamic library, that, in turn, consumes Package_A
Version 1.0.0 (a static library).
Here is the GitHub link to the PackageConsumer
project Version 3.0.0. You can check out that version, and reproduce the results here.
Implementing Swift Package Manager –Example 2
Simple, Nested Static Libraries
In this example, the PackageConsumer
utility simply consumes Package_BPrime
, Version 1.0.0, which is a static library, that, in turn, consumes Package_A
Version 1.0.0 (also a static library).
Here is the GitHub link to the PackageConsumer
project Version 2.0.0. You can check out that version, and reproduce the results here.
Implementing Swift Package Manager –Example 1
Simple, Single-Package, Static Library
In this example, the PackageConsumer
utility simply consumes Package_A
, Version 1.0.0.
Here is the GitHub link to the PackageConsumer project Version 1.0.0. You can check out that version, and reproduce the results here.