Xcode 26.3 introduced agentic coding support with Claude Agent, OpenAI Codex, and MCP. This is not just smarter autocomplete. Apple describes it as a workflow where agents can work with more autonomy toward a developer’s goals, use Xcode tools, inspect project structure, run builds, search documentation, and iterate through fixes.
ou may think about defer keyword as one of the most ambiguous language features in Swift, but it is very useful in some cases. You can use it deliberately, and it will give you safety. This week we will talk about some best practices of using defer in Swift.
I have never published a WWDC wishlist, or ever even really thought much about one before. But, there are some areas that I'm definitely interested in, so I thought it would be fun to share.
Here's my "watchlist" of things I'll be paying special attention to.
I thought App Intents was going to be a Siri feature, but It turned into an architecture audit.The weirdest part wasn’t writing the intents. It was debugging failures with almost zero visibility.Six shortcuts defined. Two appeared. No logs. No errors. Just missing tiles in Shortcuts.app.
Shortcuts launches your app headlessly. App.init never runs. If your entity queries depend on app-registered services or SwiftData setup, the system can silently drop the shortcut entirely.
Swift Concurrency provides modern tools for handling asynchronous code through async/await, actors, and structured concurrency. Following best practices ensures your concurrent code is safe, efficient, and maintainable.
Many developers struggle to get stable results from AI tool interactions. This can even build a strong opinion that such tools are unreliable: “We don’t need them. I’m used to doing everything on my own.” Fair enough.
But just like Xcode, the Simulator, or any other development tool/service, AI tools need to be tuned and adapted. Even cars have seat, steering wheel, and mirror adjustments.
SwiftUI views typically update in response to data changes. TimelineView extends this model by reevaluating a view according to a timeline, making it possible to build interfaces that refresh periodically or change continuously without relying on explicit state changes.
SwiftUI includes built-in schedules for common update patterns, from minute-based refreshes to continuously changing visual effects. In this post we'll look at how these schedules work and how they can be used to drive updates in SwiftUI views.
Swift 6.4 continues the ownership work that has been building through noncopyable types, borrowing, consuming parameters, lifetime dependencies, Span, and MutableSpan. The important part of this direction is that Swift is gaining more ways to describe ownership and access rules directly in APIs, instead of leaving them as compiler internals, documentation comments, or unsafe pointer conventions.
When developing iOS apps, we often need to persist sensitive user data such as passwords, authentication tokens, or cryptographic keys.
For this type of data, storing values in plain files or UserDefaults is usually not appropriate. Instead, iOS provides the Keychain Services API, which stores sensitive data in an encrypted and system-managed database.
In this article, we'll look at how the Keychain API works and how to save, retrieve, update, and delete keychain items in Swift.
I got halfway through the manager before something started to feel off. I had AsyncStreams feeding into completion handlers feeding back into delegate methods. I had bridges on top of bridges. The "modern" code I was writing was making the rest of the system harder to read, not easier.
And then it clicked: I had built a beautiful Tesla engine and was now trying to bolt it onto a horse carriage.
Join the Mobile Signal Talent Directory and make your profile visible to hiring teams searching for iOS talent.