Subtitle: An iOS performance investigation I actually did, end-to-end through Claude Code, with MCP-driven simulator control,
xctraceTime Profiler, and the Memory Graph CLI. What the AI handled, what it didn't, and how my workflow changed.
Hey folks, let me walk you through an afternoon I had debugging an iOS perf ticket I'd been postponing for three weeks. Motivations, obstacles, dead ends, and wins included.
Quick setup. Working on an app that uses SwiftUI quite a bit. The SavedItems tab was getting slow after about 15 location detail screens. Probably a memory leak. Probably something related to SwiftUI navigation. Probably "easy" after I stopped to analyze it. Spoiler: None of those hypotheses were correct.
The investigation took an entire afternoon and resulted in three independent corrections and three pull requests. And most of my time at the keyboard was spent reviewing what Claude had just done, not typing.
This text is not an account of how AI changed someone's life (please don't). It's a description of a workflow that I believe many mobile application engineers haven't yet experienced, with its friction points and parts that didn't work. If you work with iOS at a company, as an indie developer, or as a freelancer, this could be a valuable investment of a few hours (or minutes) in tools that will yield benefits when something on the device malfunctions.
The workflow, drawn out
(brew install cameroncooke/axe/axe); the rest of the plugin works without it. detectLeaksInXCUITest is shipped but marked as experimental until real production runs validate the orchestration. The CHANGELOG is honest about all of this. See . PRs welcome, especially new cycle patterns from real production leaks you've found.
If you want to try this
A short afternoon of setup gets you the whole workflow:
Install either via npm + MCP config (npm install -g memorydetectiveplus 1 line of JSON in your client) or, on Claude Code, via one-line plugin install:/plugin marketplace add carloshpdoc/memorydetective-pluginthen/plugin install memorydetective@memorydetective-plugin.- Install Claude Code in the terminal if you haven't. Point it at one of your iOS projects.
- (Optional, but recommended) Install
[weak self] (mechanics, perf overhead, and re-strongification pitfalls)
A deep technical companion piece on the actual leak (a SwiftUI TagIndexProjection<Int> cycle through _DictionaryStorage<AnyHashable, WeakBox<AnyLocationBase>>, with the full retain chain and the wrong wholesale-[weak self] refactor I tried first) is coming next week. Different audience: pure technical, no AI workflow.
SOCIAL SHARE CARD GENERATOR