Before we move on to Universal Links, we’ll begin with setting up classic URL Schemes (Deep Links). These are fairly simple, and use most of the same hooks as Universal Links.
Miscellany
Implementing Universal Links – The Basics
This series will walk through the steps needed to implement URL Schemes (Deep Links), and Universal Links in iOS/iPadOS apps (Using Standard UIKit App Delegate, UIKit Scene Delegate, and SwiftUI). This post is an introduction, and will establish our baseline.
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.