Building and shipping Mac and iOS apps without ever opening Xcode

scottwillsey.com
July 13, 2026
12 min read
68/100
Summary
Mac and iOS apps can be built and shipped without using Xcode by utilizing alternative coding methods. Pre-work can enable developers to create apps without directly interacting with the Xcode interface.
Key Takeaways
- Xcode must be installed for building Mac and iOS apps, but it does not need to be opened after initial setup.
- A single script, `scripts/release.sh`, can automate the entire app release process, including archiving, signing, notarizing, and installing the app.
- XcodeGen is required to manage Xcode projects automatically, generating a project.yml file that can be committed to git while ignoring the .xcodeproj folder.
- Initial setup in Xcode includes accepting the license, setting up an Apple Developer account, and creating a Developer ID certificate.
Coverage & discussions
Hacker News · scottwillsey.com
Community discussions
Historical count: 5 · 5 saved in sample · Historical sample
Analysis ready
Community Sentiment
Positives
- The ease of building and testing iOS apps on Linux has impressed many, showing that you can sidestep Xcode and still get your app onto your iPhone effortlessly.
- Using Axiom with its LLM tools is a game-changer for Apple OS development, making complex tasks like signing and notarizing apps a breeze without touching Xcode.
- Expo is touted as the superior long-term choice for app development, with its command-line automation making iOS submission as simple as one command.
Concerns
- Running the agent on your Mac instead of a sandbox raises serious security concerns, especially after xAI's mishap with sensitive data uploads.
- Some commenters are skeptical about the reliability of AI tools for generating build scripts, noting inconsistencies that could lead to failures in development.
Related Articles

Setting up your spare Mac for Claude Code to control, a step-by-step guide
Jul 18, 2026

Claude Code as a Daily Driver: Claude.md, Skills, Subagents, Plugins, and MCPs
May 27, 2026

Building a coding agent in Swift from scratch
Mar 25, 2026

Building for an audience of one: starting and finishing side projects with AI
Feb 17, 2026

Anatomy of the .claude/ folder
Mar 27, 2026