Swift Modules and Code/Assets Duplication
How to use SPM modules in an Xcode project with several targets and avoid duplicated code and assets.
How to use SPM modules in an Xcode project with several targets and avoid duplicated code and assets.
A diagnostic of slow Swift build times after modularizing, focusing on module verification and practical fixes to speed up compilation.
Describes problems and solutions when integrating Swift packages into an Objective-C project structure that uses static frameworks.
Explains common pitfalls when validating App Store receipts locally on macOS and why Apple's suggested approach can fail.
Techniques for adjusting animation timing using custom timing functions to achieve more natural, spring-like motion.
A developer’s account of a surprisingly difficult interaction with Mozilla's Add-ons review process and lessons learned.
Patterns and practical workarounds for using generic view controllers with storyboards when the storyboard needs a concrete class.
Presents `AnyDecodable`, a flexible approach to decoding JSON with `Codable` when the exact types are unknown ahead of time.
Introduces Xconfig, a small Mac app that displays Xcode build settings for the open project to save time and reduce terminal usage.
Practical steps to modularize an Xcode project into separate frameworks and common pitfalls related to linking and build flags.
A tutorial-style deep dive into working with unsafe pointers in Swift—memory layout, buffers, and patterns to work safely.
A walkthrough of an interesting bug investigation (the ‘missing k’) and how diagnostic thinking led to the fix.
Describes a Swift UI component to centralize font choices and support Dynamic Type and Dark Mode consistently across the app.
Post-WWDC reflections highlighting notable platform updates and a closer look at SwiftUI.
A short solution for UI tests that need to interact with off-screen elements inside `NSScrollView`.
A practical guide to Xcode's Find features with an emphasis on using search scopes to speed up code navigation.
Explains how the responder chain can cause surprising behavior and techniques to sidestep those issues in Cocoa apps.
A pattern for asserting that something did *not* happen in tests, and how to write reliable inverted expectations.
Practical tips for comparing and reasoning about Xcode build settings, from long-term usage experience.
Introduces a simple Expectation object (backed by `NSCondition`) for waiting on asynchronous tasks outside of XCTest.
How to use `NSSocketPort` to spin up a simple TCP server for testing without adding heavyweight dependencies.
A short tip on how to run spring animations in reverse (for example by using a negative speed) and why that helps achieve natural UI effects.
An argument that Mojave's Apple Event authorization prompts harm automation and user experience, with suggestions for better approaches.
Approaches for adopting Dark Mode while keeping compatibility with older macOS versions and APIs.
A deep-dive into an NSOperation KVO bug and practical guidance on managing asynchronous operation state to prevent hangs.
How to manage multiple Xcode build configurations with .xcconfig files so build settings stay maintainable and preprocessor logic stays readable.
A practical guide to implementing a token bucket in Swift to rate-limit work without fragile timers or runloop dependencies.
Practical techniques for creating and sharing deterministic fixtures for iOS UI tests, helping avoid flakiness and sandboxing pitfalls.