Monday morning: Xcode.
I've set it to remove trailing white space, because it's ugly. It does, most of the time.
But I've hit return to have extra like, indented as expected, but after save I moved cursor and shows me expectedly no white space on that empty line.
What unexpected is that git diff does not agree and show a line having indentation.
Does it have to be so damn hard? You could simply remove the space on save and force me hit tab if I want indentation, geez
My talk from Swift Barcelona in November is finally out! It covers how to scale your development with Xcode.
Did you know you can speed up your Xcode builds by using Xcode's 26 cache in CI and development environments? You can also gain insights into the cache's effectiveness.
Learn more here: https://docs.tuist.dev/en/guides/features/cache/xcode-cache
#iOSDev #Xcode
Just wow! With the right graph information exported by Argus, you can get coding agents to suggest optimizations for your graph:
https://github.com/tuist/argus/releases/tag/0.4.0
#xcode #iOSDev
Static or dynamic linking? Most teams go all-one-way. SwiftPM wants things to work – not what's best for launch time or binary size.
So I extended Argus with an agent-friendly interface to explore graphs & make smarter linking decisions:
https://github.com/tuist/argus/pull/11
Next: SWBBuildService proxy in Tuist (any Xcode version), then real-time web-based build insights.
We won't need @apple to make this useful.
Did you know you can speed up your Xcode builds by using Xcode's 26 cache in CI and development environments? You can also gain insights into the cache's effectiveness.
Learn more here: https://docs.tuist.dev/en/guides/features/cache/xcode-cache
#iOSDev #Xcode
Organizations tend to throw vast amounts of money at improving dev productivity with larger teams or more and faster CI machines, or moving to React Native and Bazel, but there’s a cheaper alternative that integrates natively with Xcode, and we wrote a story about it:
https://tuist.dev/blog/2025/11/17/smart-before-fast
#xcode #swift
Organizations tend to throw vast amounts of money at improving dev productivity with larger teams or more and faster CI machines, or moving to React Native and Bazel, but there’s a cheaper alternative that integrates natively with Xcode, and we wrote a story about it:
https://tuist.dev/blog/2025/11/17/smart-before-fast
#xcode #swift
Build system caching: the mechanics are similar across platforms.
Cache observability: that's where specialization matters. Working with Xcode means reverse-engineering Apple's undocumented formats to surface meaningful insights about cache performance.
At @tuist we're building Xcode-native caching with first-class observability, so iOS/macOS teams can optimize their builds with data, not guesswork.
The new tab behaviour in #Xcode 26 (for when I click a file in the navigator) will need some getting used to. Not sure why *that* needed changing
But I just figured out that in the context menu of a symbol, a click on "Jump to Definition" opens it in the same tab 😕 but a ⌥-click opens a new tab 😗
Build system caching: the mechanics are similar across platforms.
Cache observability: that's where specialization matters. Working with Xcode means reverse-engineering Apple's undocumented formats to surface meaningful insights about cache performance.
At @tuist we're building Xcode-native caching with first-class observability, so iOS/macOS teams can optimize their builds with data, not guesswork.
Monday morning: Xcode.
I've set it to remove trailing white space, because it's ugly. It does, most of the time.
But I've hit return to have extra like, indented as expected, but after save I moved cursor and shows me expectedly no white space on that empty line.
What unexpected is that git diff does not agree and show a line having indentation.
Does it have to be so damn hard? You could simply remove the space on save and force me hit tab if I want indentation, geez
🎯 Back Market shares why they migrated to Tuist
Pain points: Xcode sluggish, SwiftPM froze IDE, productivity suffered.
POC results:
• 35-40% faster builds (90% with cache!)
• No Xcode freezing
• Better incremental builds
• Dynamic frameworks for dev, static for releases
The right tool fits your team's capabilities.
🎯 Back Market shares why they migrated to Tuist
Pain points: Xcode sluggish, SwiftPM froze IDE, productivity suffered.
POC results:
• 35-40% faster builds (90% with cache!)
• No Xcode freezing
• Better incremental builds
• Dynamic frameworks for dev, static for releases
The right tool fits your team's capabilities.
As codebases grow, organizing modules becomes complex. Xcode's projects force you to choose ONE organizational dimension. What if you need multiple?
Metadata tags let you organize by layer, feature, team, and platform simultaneously. Then generate focused workspaces on demand.
Combine with module caching and you only recompile what matters.
I started doing some exploration of XCBBuildService’s API. Xcode uses internally as an interface to the build system, and it’s something Bazel uses to swap the build system.
The motivation is to give @tuist access to the rawest build system data for our insights features. .xcactivitylog files and .xcresult bundles are designed for Xcode’s UI, not for analytics, and some data is either absent or not in a format that’s easy to work with.
#Xcode #Swift