Weekend is here, and so are good reads for Apple developers. Let's go!
- Keith Harrison shares great productivity tips on multi-cursor editing in Xcode – Xcode Multi-Cursor Editing;
- Article by Marco Eidinger explains some aspects of string case – Transforming the Case of Strings in Swift;
- Automate your CI/CD pipelines with fastlane – Quick guide on fastlane for iOS development by Natascha Fadeeva;
- Using User Defaults to store preferences in Swift by Antoine van der Lee goes into one of the persistence option in Swift;
- Okay, ChatGPT is everywhere, let's build an app for that – Creating a SwiftUI App to interact with the OpenAI ChatGPT API by Moritz Philip Recke;
- Lee Kah Seng covers widget configuration – How to Create Configurable Widgets With Static Options?;
- And Krzysztof Zabłocki continues his series on widgets too – Widget Architecture - Part 3;
- Swift Regex Tutorial: Getting Started by Ehab Yosry Amer goes through modern approach to regular expressions in Swift;
- Majid Jabrayilov continues his series on charts – Mastering charts in SwiftUI. Customizations.;
- DocC is getting more attention lately – How we migrated our SDK docs to DocC at RevenueCat by RevenueCat provides interesting insights on actual migration to it;
- Leonardo Maia Pugliese covers animations in SwiftUI – The Art of Sequential Animations in SwiftUI: Tips, Tricks, and Examples;
- Styling in SwiftUI is covered in Composable Styles in SwiftUI by Kasper Lahti;
- One important hint by Christian Tietze if you're dealing with files in your apps – PSA: FileManager.trashItem (Maybe) Uses NSFileCoordinator Under the Hood Automatically, So You Shouldn't to Prevent Deadlocks;
- Reading keyboard modifiers on iPad in SwiftUI by Natalia Panferova helps to make your iPad app more keyboard-friendly.
And that is it for today. See you next week with another pack of great articles!