Operator Precedence Gotchas When Moving Between Swift and Objective-C
A refactoring mishap with arithmetic expressions led me down the rabbit hole of operator precedence differences between Swift and Objective-C. Here's what to watch for.
// 127 articles available
A refactoring mishap with arithmetic expressions led me down the rabbit hole of operator precedence differences between Swift and Objective-C. Here's what to watch for.
Avoid cryptic build failures by setting up nvm to automatically use the right Node version when you cd into a project.
Stop cluttering your Desktop with screenshots. Here's how to save them somewhere else using Terminal or the Screenshot app.
Learn how to access photos from the camera roll in SwiftUI, including required permissions, Info.plist configuration, and using PhotosPicker for iOS 16+ or UIImagePickerController for earlier versions.
Learn how to detect when users take screenshots in your SwiftUI app by observing UIApplication notifications.
Stop macOS from littering .DS_Store files on network shares and USB drives with a simple Terminal command. Keep your external storage clean and your repositories tidy.
Learn how to detect when a user successfully shares content using a share sheet in SwiftUI by wrapping UIActivityViewController.
Learn how to prevent users from dismissing modal sheets by swiping down in SwiftUI using interactiveDismissDisabled.
Make your glass elements respond to touch with scaling, shimmer effects, and touch-point illumination using the interactive() modifier and glass button styles.
The cornerRadius modifier is deprecated in iOS 17. Here's how to use clipShape, RoundedRectangle, and the new ConcentricRectangle to round corners the modern way.
The glassEffectID modifier enables glass views to smoothly morph into one another during state changes, creating fluid transitions that feel native to iOS 26.
Learn how to use the allowsHitTesting modifier to make views ignore touches, letting taps pass through to elements behind them.
When you have multiple glass elements that should blend and animate together, GlassEffectContainer coordinates their rendering for seamless visual results.
iOS 26 introduces Liquid Glass, a translucent design language for navigation elements. Here's how to apply the glassEffect modifier to your custom views.
When Xcode says it can't find a module you've clearly installed, the problem is usually in your build configuration, not your package manager.
Learn how to use Xcode's Device Conditions feature to simulate thermal state and network conditions to test your app under real-world stress scenarios.
Learn how to round only certain corners of a SwiftUI view using UnevenRoundedRectangle, custom shapes, and clipShape.
Learn how to resize images in SwiftUI using resizable(), frame(), and different content modes like scaledToFit and scaledToFill.
Learn how to show loading spinners in SwiftUI using ProgressView, including customization options and common loading patterns.
Learn how to detect when users shake their device in SwiftUI by bridging to UIKit's motion events and creating a reusable view modifier.
When the iOS Simulator refuses to launch, gets stuck booting, or shows a black screen, here's how to diagnose and fix it.
Learn how to use AlarmKit to schedule alarms that appear in the system Clock app, giving your app native alarm integration on iOS 26.
Learn how to properly support dark mode in SwiftUI using semantic colors, adaptive color assets, and color scheme detection.
Learn how to use SF Symbols in your SwiftUI apps, including sizing, coloring, animations, and finding the right symbol for your needs.
Understand the difference between @State and @Binding in SwiftUI, when to use each, and how they work together to manage data flow between views.
Learn how to use AppStore.ageRatingCode to read your app's current age rating and react to rating changes for parental consent compliance.
When Xcode's indexing gets stuck or takes forever, your autocomplete and jump-to-definition stop working. Here's how to get it unstuck.
Learn how to use ToolbarSpacer to add fixed and flexible spacing between toolbar items in SwiftUI, new in iOS 26.
Learn different approaches for handling optional ObservableObject instances in SwiftUI, from conditional rendering to wrapper patterns.
NSError is the standard error handling mechanism in Objective-C, but using it defensively requires more than just passing a pointer. Learn patterns that prevent crashes and make debugging easier.