I really like the #SwiftPackage approach. It creates a clean and readable environment within larger workspaces. 😊
The #Xcode Workspace works perfectly with folders, making it easy to create new packages and manage their structures inside the IDE. 🧰
I really like the #SwiftPackage approach. It creates a clean and readable environment within larger workspaces. 😊
The #Xcode Workspace works perfectly with folders, making it easy to create new packages and manage their structures inside the IDE. 🧰
All Auth dependencies are registered in 🛠️ Auth #Assembly. This is a core place of preparing the shareable logic and resolve it when it is needed.
Each #Module can have many assemblies to make clear division how the #SwiftPackage is built. 🧩
In my experience, the fewer targets a #SwiftPackage has, the better. 🚀
To facilitate function separation, I created Assembly - submodules that enable code separation within the module. 🧩
Tomorrow, I will show you one of the assemblies. 💡
Every #Module represents a target located in a #SwiftPackage. There are three types:
🏗️ Core: An architecture-only module that can be reused in any app.
🔄 Commons: Shareable modules providing global logic.
🚀 Features: Modules that provide specific behavior.
So it begins... 🌟
Until now, the package had #MainActor default isolation. This was intentional to gain a clear understanding of where the #Sendable declaration is necessary.
Now, it's time to make this package truly thread-safe! 🚀
I've added more modifier variations!
You can now set string as body content, automatically setting the #ContentType to text/plain. Additionally, if you wish to #override all the headings saved in the configuration, you now have that opportunity! 💡
Morning #debugging session. 🌅
I can't find a proper solution for sharing Configuration through the Request tree, so I started with a small case: the EmptyRequest with one modifier. 💻
Working on a #SwiftPackage is easier with a sample app that you can run to test your code. 📦
This is how it looks. 🧐
The method modifier sets the appropriate method in the configuration. I'm uncertain if this is the final solution, as I have concerns about the store location and how to pass configuration through the tree. 🤔
Brainstorm! ⛈️
#SwiftPackage #BuildInPublic
Work, work... 💼
I have developed basic modifiers to configure URLRequest in the future, along with basic request methods. 🛠️
Now, I need to determine how to build a configuration within the Request tree. 🌳
Having Request Modifier marks the second step in my #SwiftyNetworking package refactor. 🔄
Unlike before, I now rely on modifiers. Previously, #SwiftPackage copied the Request, modified the configuration, and returned a new object.
Now, it's more aligned with #SwiftUI. 🚀
When designing a #SwiftPackage, I enjoy crafting code that predicts the eventual results of development. 🛠️
Here are three sample requests using the GET, POST, and DELETE methods. 📥
Each request method takes a path parameter and inherits from the Request protocol.
Had a great stream building a backwards-compatible web view component for my "Second Brain" SwiftUI app.
The new native #SwiftUI WebView is fantastic, but we can't leave users on older iOS versions behind!
I built a wrapper that uses `if #available` to choose the right component—the new native one or an older WKWebView implementation—all bundled up in a clean new #SwiftPackage.
You can watch the replay here:
https://www.youtube.com/watch?v=OlHahqE43gA
🚀 Events 1.1.0 is out!
Guaranteed event ordering is finally here 🎉
If you’re building with Swift and need rock-solid event handling, this is for you:
👉 https://github.com/ThomasCle/events
Huge thanks to @orj for spotting the ordering issue 🙌🏻
Try it out, and let me know what you think!
Introducing LandTransportKit
LandTransportKit is the first Swift package that I’ve submitted to the Swift Package Index. Given that I’ve been using Swift and relying on Swift packages since, well, the Swift epoch began, this is ridiculous.
Let me explain what it’s capable of.
First, it lets developers in the Apple ecosystem make use of all four—keep reading!—of the LTA DataMall APIs that I make use of for Singapore […]
https://stuartbreckenridge.net/2025/07/introducing-landtransportkit/
#LandTransportAuthority #Singapore #SingaporeBuses #SwiftPackage
I just released my new Swift Package: Events 📣📦
https://github.com/ThomasCle/events
I'll be writing more about it on my blog soon! 🚀
Finally succeeded in generating HTML documentation for a Swift Package containing several targets, with cross references.
Feature still experimental, customisation is still a chore, but it just works.
Thanks to the community :blobcatheart:
#Swift #SwiftUI #SwiftDocC #SwiftPackage #GitHub
#iOS #iosdev #DesignSystem #opensource
That's a good README.
#opensource #iOS #iosDev #Swift #SwiftPackage #GitHub #DesignSystem
I got tired of manually updating my CV across different formats, especially PDF.
So I built CVBuilder, a Swift package that keeps everything in code—typed, versioned, and exportable as Markdown, HTML (via Ignite), or plain text.
Here's more info about it:
https://aleahim.com/cvbuilder/
And a GitHub repo:
https://github.com/mihaelamj/cvbuilder
#Swift #SwiftPackage #CV #Markdown #HTML #OpenSource #iOSDev
I updated my #SwiftPackage #GoogleSignInKit. Using it to integrate #GoogleSignIn into your app prevents you having to rely on the heavy package from Google. It’s the guaranty of a quick, stable and lightweight integration 👌.
#SPM #Swift