iOS
Articles on iOS performance, Swift optimization, Xcode tooling, and building fast Apple platform apps.
Latest iOS version
iOS 27.2 Stable
Release date not published yet
All iOS releases → Latest iOS version: check & upgrade →Recent Releases
Version history →iOS engineering articles 1–30 of 733
How the Xcode 27 MCP can lead to higher token costs when navigating the Simulator
Antoine van der Lee benchmarked Xcode 27's new MCP against RocketSim's CLI and found a 7x difference in token consumption. If you're using AI agents to navigate iOS Simulators, this could be quietly draining yo...
Multi-Ratio Video Resizing for Mobile Feed and Marketing
Netflix just solved a problem every mobile team faces: how do you turn cinematic 16:9 video into vertical formats without losing the story? Their answer involves neural networks, active speaker detection, and a...
Xcode 27 replaced Simulator.app. Expo CLI and expo-device-hub already know.
Krystof Woldrich from Expo just solved the chaos that hit mobile devs when Xcode 27 killed Simulator.app. If you spent "Xcode 27 week" manually booting simulators and losing fast refresh, this one's for you.
How to Integrate Deferred Deep Linking in Flutter
Bartek Krasoń and Mateusz Turbański from Software Mansion tackle one of mobile's trickiest UX problems: getting users to the right screen after they install your app from a link. Their solution using Detour eli...
SwiftUI Performance: Find Redraws in Xcode Instruments
Antoine van der Lee reveals how SwiftUI performance problems hide in plain sight. Most developers know views redraw too often, but measuring the actual cost requires knowing exactly where to look in Instruments...
Bring 3D to Life in Flutter with flutter_scene and Flutter GPU
Amorn Apichattanakul built a 3D hotel tour in Flutter and discovered the hard truth: one demo ran at 120fps, the other barely hit 25fps. Here's what actually works for 3D in production apps.
Agentic iOS Development with RocketSim and RocketTrace
Antoine van der Lee built his Video Compressor app with AI agents that can actually see and measure what they're building. His accessibility score jumped from 0/100 to 99/100 without manual testing.
You Don't Need a Rewrite: Expo's New Brownfield React Native Story
Darin Wilson from Infinite Red reveals how Expo just eliminated the biggest barrier to adopting React Native: you can now integrate it into existing native apps without a rewrite, and it takes just five words t...
7 Best BrowserStack Alternatives for iOS Testing
Katarzyna Smoleń from Software Mansion breaks down a critical iOS testing decision: BrowserStack isn't always the right fit, especially if you're running AI agents or need dedicated simulator infrastructure.
Introducing RocketTrace: Using Xcode Instruments with AI Agents
Antoine van der Lee just launched RocketTrace, a Mac app that makes AI agents 6x more efficient at finding iOS performance issues. The benchmark results are striking: agents found more bugs while using a fracti...
Discontinuing Swift Language IDE Support in the Kotlin Multiplatform Plugin
Anton Makeev from JetBrains just announced they're pulling Swift IDE support from the Kotlin Multiplatform plugin. If you're building cross-platform apps, this shift reveals where the ecosystem is actually head...
You don't need a Mac to develop iOS apps anymore
Rami Maalouf from Expo just eliminated the biggest barrier to iOS development: the Mac requirement. Windows and Linux developers can now build, test, and iterate on iOS apps with full Fast Refresh support.
Module Tracking in Swift Debug Info
Adrian Prantl from Apple's Debugger+Compiler Integration team reveals how Swift 6.4 is fixing a debugging problem most developers didn't know they had. The solution? Dramatically smaller binaries and faster, mo...
Why Expo is a great fit for new and existing React Native apps
Keith Kurak from Expo makes a bold claim: AI coding agents don't eliminate the need for cross-platform frameworks. They actually make the case stronger.
Engineering Real-Time Mobile Personalization Across iOS, Android, React Native, and Flutter
Sneha Singla from Salesforce tackled what seemed impossible: building one real-time personalization system that works flawlessly across iOS, Android, React Native, and Flutter without breaking layouts or requir...
What It Takes to Migrate Discord to RN's New Architecture
Kamil Delekta from Software Mansion reveals what nobody tells you about React Native's New Architecture: the migration flip is only 14% of the work. The other 86%? That's where things get interesting.
In-House Over-the-Air Localizations in a Modular iOS App
Alberto De Bortoli from Just Eat Takeaway built an over-the-air localization system that fixes translation bugs without app releases. No vendor SDK, no compromise—just a few hundred lines of code that works wit...
The iOS Simulator Inside Cursor, Claude Code, and Codex
Antoine van der Lee, creator of RocketSim, is rethinking the iOS Simulator's role as AI agents take over coding. His latest move? Embedding the Simulator directly into Cursor, Claude Code, and Codex.
Kotlin Toolchain 0.12: Multiplatform Library Publishing, Wasm Apps, and More
Joffrey Bion just dropped Kotlin Toolchain 0.12, and it's bringing the multiplatform publishing workflow developers have been waiting for. Plus, Wasm apps just got a whole lot more practical.
MVVM in SwiftUI: Using view models without overengineering
Antoine van der Lee tackles the most common SwiftUI mistake: slapping a view model on everything. His approach? Start simple, add MVVM only when it actually solves a problem.
WebView vs Server-Driven UI vs Code Push
Shorebird explores three approaches to shipping mobile updates faster. Which one actually delivers on the promise of speed without sacrificing native performance?
React Native Callkeep Alternatives in 2026
Paweł Gadomski from Software Mansion just solved one of React Native's messiest problems: getting WhatsApp-style incoming calls to actually work when your app is killed. The solution? Stop treating it as a libr...
How to Add Deferred Deep Linking to Your iOS App
Bartek Krason and Mateusz Turbański break down the iOS attribution gap that kills user onboarding. Their solution: deferred deep linking that survives app installation and routes users exactly where they intend...
@StateObject vs. @ObservedObject: The differences explained
Antoine van der Lee reveals why your SwiftUI view models keep resetting unexpectedly. The culprit? Mixing up @StateObject and @ObservedObject in ways that look identical until they break.
Gesture Handler's Touchable: Button We Wish We Had Sooner
Jakub Piasecki from Software Mansion just solved React Native's button problem. After shipping 9 different button components, they built one to replace them all.
Building a native-first social platform with Expo
Aras Diler built a production social platform with Siri integration, on-device AI, and iOS widgets as a solo developer. His secret? Treating Expo as the architecture, not just a starting point.
Modern SwiftUI Architecture: Building Scalable Listing Modules
Sadık Çoban from Getir just dropped a masterclass on migrating a massive e-commerce listing screen to SwiftUI while supporting iOS 15. The payoff? A 4.7× performance improvement in production.
Tackling UI Test Execution Time Imbalance for Xcode Parallel Testing
Grab's engineering team discovered that Xcode's parallel testing was secretly sabotaging their CI pipeline. Tests from the same class were forced onto the same simulator, creating massive execution time imbalan...
Sendable and @Sendable closures explained with code examples
Antoine van der Lee tackles the #1 migration blocker in Swift 6: Sendable conformance. If you're seeing data race warnings pile up, this deep dive shows exactly how to fix them.
General Availability of Mobile Platform Support Arrives in Discord Social SDK Version 1.10
Colin Feo from Discord reveals how mobile gaming's retention problem just got a social solution. Discord's Social SDK v1.10 brings full iOS and Android support, and early partners are already seeing lapsed play...