If you have a Swift Package Manager library and use
swift package generate-xcodeproj to generate an Xcode project for the library, App Store will reject any apps that pull in the library with Carthage. This post will show you how to make App Store submission work.
In this post, I’ll show you how to restore the network configuration in Catalina (beta 5), if it suddenly stops working. It happened to me and the solution was to just delete a couple of files.
For years, I’ve been struggling with combining generics and protocols in Swift. In this post, I’ll describe how I finally made sense of it all.
I really love the Swift type system and its extension model. You have to use it with care, but combined with careful system design, they give you a lot of power. In this short post, I discuss how to keep your extensions from being exposed everywhere.
This is a short note to self about how to use
git instead of
grep to recursively find all occurrences of a certain text in all files within a root folder.
struct are two powerful tools. In this post, I’ll discuss how you typically use them and how to use structs like enums when you need more flexibility.
Swift is an amazing language, but I find that it lacks good native support for coordinating async operations in sophisticated ways. In this post, I will look at existing libraries for solving this problem, then discuss a lightweight alternative and show you how to implement it with a couple of simple protocols and implementations.
Sheeeeeeeeet 1.2 introduces a completely rewritten appearance engine that makes it easier than ever to style and subclass your action sheets and their items. In this post, I’ll discuss some of the major changes.