CLAUDE LABJP
FORK — Claude Code 2.1.212 changes what /fork does: it copies your conversation into a new background session with its own row in claude agents, so you can keep working. The old in-session subagent is now /subtaskLIMITS — WebSearch calls are now capped at 200 per session by default, and subagent spawns get the same 200 ceiling, so a runaway search or delegation loop stops on its ownMCPBG — MCP tool calls running past two minutes now move to the background automatically, keeping the session usable. Tune the threshold with CLAUDE_CODE_MCP_AUTO_BACKGROUND_MSPLANFIX — Fixed plan mode auto-running file-modifying Bash commands such as touch and rm without a permission prompt or an SDK canUseTool callbackSONNET5 — Claude Sonnet 5 is running on introductory pricing of $2 per million input tokens and $10 per million output. After August 31 it moves to $3 and $15IPO — Bankers are reportedly lining up investor meetings for Anthropic ahead of a possible public listing as soon as OctoberFORK — Claude Code 2.1.212 changes what /fork does: it copies your conversation into a new background session with its own row in claude agents, so you can keep working. The old in-session subagent is now /subtaskLIMITS — WebSearch calls are now capped at 200 per session by default, and subagent spawns get the same 200 ceiling, so a runaway search or delegation loop stops on its ownMCPBG — MCP tool calls running past two minutes now move to the background automatically, keeping the session usable. Tune the threshold with CLAUDE_CODE_MCP_AUTO_BACKGROUND_MSPLANFIX — Fixed plan mode auto-running file-modifying Bash commands such as touch and rm without a permission prompt or an SDK canUseTool callbackSONNET5 — Claude Sonnet 5 is running on introductory pricing of $2 per million input tokens and $10 per million output. After August 31 it moves to $3 and $15IPO — Bankers are reportedly lining up investor meetings for Anthropic ahead of a possible public listing as soon as October
Articles/Claude.ai
Claude.ai/2026-05-27Advanced

Semi-Automating Firebase SDK Upgrades with Claude on Xcode — Implementation Notes from Six Indie iOS Apps

How I used Claude on Xcode integrated into Xcode 16.4 to walk six iOS apps through Firebase SDK 12 to 13 upgrades and finish the CocoaPods to Swift Package Manager migration — with the actual prompts, regression tests, and the judgment calls along the way.

claude-on-xcode2firebaseios14swift-package-managerindie-development3

Premium Article

Open the Project Navigator in Xcode and check Firebase's Swift Packages, and you may find updates lined up from 12.0.0 all the way to 13.2.1. Pressing "Update Package" takes a second. The work that hides behind it — Crashlytics run scripts, SwiftLint configuration, Privacy Manifest entries, the order of ATT prompts — quietly differs across each of six apps. Missing a piece tends to surface as a slow drift of overnight Crashlytics notifications. Twelve years of running iOS apps as a solo developer has taught me how easy it is to repeat that mistake.

In early 2026, I added Claude on Xcode to my main IDE and substantially restructured the way I handle Firebase upgrades. With the combination of Xcode 16.4 and the Claude on Xcode 0.4 line, I worked through six wallpaper, relaxation, and inspiration apps — the same lineup that together has supported around 50 million cumulative downloads — and walked them all into Firebase iOS SDK 13. These are the notes from that work.

Dolice Labs sits directly on top of the same indie practice I've kept since 2014, so the Firebase upgrade material in this note is rewritten in the order I actually verified it for the App Store and Google Play releases.

The First 30 Minutes That Changed How Firebase Upgrades Feel

The first project I opened with Claude on Xcode installed was Beautiful HD Wallpapers. I had already documented the CocoaPods to SPM migration for that app separately, with Firebase pinned at 12.4 at the time.

With Xcode open, I docked the Claude panel into the right sidebar and started with the following prompt.

Read the Package Dependencies of this project.
What version is firebase-ios-sdk pinned to right now,
and where in the codebase might we hit breaking changes
when moving to the latest major version?
Pay particular attention to Crashlytics, Analytics,
and anything touching AdMob.

Claude on Xcode can read Package.resolved and the project.pbxproj file as IDE context, so it correctly identified the current firebase-ios-sdk version. In the first reply, it surfaced the likely change surface around setCrashlyticsCollectionEnabled, tighter Analytics event naming lint rules, and the compatibility matrix with Google Mobile Ads SDK 12. The reply was not perfect — I still went to the Firebase release notes manually for verification — but having the order in which to read those notes already settled in 30 minutes was a noticeable improvement over working with Xcode alone.

It's important to remember that Claude on Xcode can see Xcode-internal syntax and build settings, but not external systems like the Firebase Console or App Store Connect. Drawing that role boundary early on saves you confusion later.

Installation and Initial Setup — Xcode 16.4 / Claude on Xcode 0.4 Series

Following the official setup steps verbatim leaves a few gaps when you bring Claude on Xcode into an indie project.

  1. Register an Anthropic API key in Claude on Xcode's settings. For team development, creating a Workspace in the Claude Console and scoping permissions there is the orthodox choice. For a one-person operation like mine, I settled on a dedicated key from my personal workspace and monitor monthly spend on the Console's Usage tab
  2. Allow the Xcode Source Editor extension. Without enabling Claude on Xcode from System Settings → Privacy & Security → Extensions → Xcode Source Editor, you won't get code completion, and Project Navigator context will be unreachable as well
  3. Wait until indexing is done before talking to the assistant. After dropping in a heavy SPM package like firebase-ios-sdk, Xcode's indexing run can take three to five minutes. Sending a query before that completes makes Claude on Xcode reply against a stale code graph, and the confidence of its responses drops dramatically

The third point is a quiet pitfall — the build doesn't fail, so it's easy to miss. I tripped on it three times in the first two weeks. Switching to the simple rule of "wait until XCBBuildService in Activity Monitor settles down before sending a prompt" stabilized things.

Once setup is done, I open a fresh session and send the following prompt to load project context into the assistant.

Summarize the overall structure of this project.

- Target structure (Main / Extension / Widget / Watch)
- Major versions for each Package Dependency
- Build Settings values for SWIFT_VERSION,
  IPHONEOS_DEPLOYMENT_TARGET, and SWIFT_STRICT_CONCURRENCY
- Names and roles of each Run Script Phase

Return this as a markdown list.

The outline is something you'll reference repeatedly, so saving the result to .claude/project-overview.md after Claude on Xcode generates it makes it easy to resume context in later sessions.

Thank you for reading this far.

Continue Reading

What follows includes implementation code, benchmarks, and practical content we hope you'll find useful. This site runs without ads — server and development costs are supported entirely by members like you. If it's been helpful, we'd be truly grateful for your support.

WHAT YOU'LL LEARN
Run Claude on Xcode in the sidebar to do the research on Firebase SDK 12 to 13 changes while you focus on build verification, and reproduce the workflow across six apps with the exact prompts shown here
Rebuild the Run Script phase for dSYM uploads, .gitignore entries, and xcconfig consistency that CocoaPods left behind, all regenerated by Claude on Xcode within 30 minutes per app
From 12 years of indie iOS development and 50M cumulative downloads, see the explicit list of workflow steps where Claude on Xcode helps (test runners, dependency graphs) and where I deliberately keep it out (Crashlytics triage, ATT order, App Store review replies)
Secure payment via Stripe · Cancel anytime

Unlock This Article

Get full access to the rest of this article. Buy once, read anytime. This site is ad-free — your support goes directly toward keeping it running.

or
Unlock all articles with Membership →
Share

Thank You for Reading

Claude Lab is ad-free, supported entirely by members like you. We publish practical guides daily with implementation code, benchmarks, and production-ready patterns. If you've found it useful, we'd love to have you on board.

  • Copy-paste ready implementation code
  • New advanced guides published daily
  • $5/mo or $10 for lifetime access
View Membership →

Related Articles

Claude.ai2026-05-16
How I Handle 30+ App Store Reviews Monthly Using Claude — A Solo Developer's Workflow
Managing Beautiful HD Wallpapers and other apps with 50 million total downloads means dealing with reviews in 8 languages. Here's the Claude-powered workflow I built to handle 30–40 replies per session without triggering App Store throttling.
Claude Code2026-06-02
Two Weeks of Splitting iOS Work Between Claude on Xcode and Claude Code
I ran Claude on Xcode, which lives in the Xcode sidebar, alongside Claude Code in the terminal across two weeks of real wallpaper-app work. Here is how I ended up dividing the tasks, and the simple rule I use to decide which one to open.
Claude.ai2026-07-12
Using Claude's Reflect Monthly Review to Tune a Solo Dev Rhythm
How to read Claude's new Reflect monthly review as a planning tool for the month ahead rather than a report card, grounded in the day-to-day rhythm of solo development.
📚RECOMMENDED BOOKS
Build a Large Language Model (From Scratch)
Sebastian Raschka
LLM Dev
Prompt Engineering for LLMs
Berryman & Ziegler
Prompting
AI Engineering
Chip Huyen
AI Eng
* Contains affiliate links
See all →