XcodeなしでMac/iOSアプリをビルド・配布する方法
原題: Building and shipping Mac and iOS apps without ever opening Xcode
なぜ重要か
LLMを活用したバイブコーディングの普及に伴い、GUIに依存しない再現性の高いAppleアプリ開発ワークフローへの需要が高まっている点で業界的意義がある。
ブロガーのScott Willsey氏は2026年7月11日、Xcodeを一度も開かずにMacおよびiOSアプリをビルド・署名・公証・配布する方法を解説した。Xcodeのインストールは必須だが、xcodebuild・notarytool・stapler・devicectlといったCLIツールとXcodeGenを組み合わせることで、すべての工程をシェルスクリプト1本で完結できると説明している。
Scott Willsey氏が自身のブログに掲載した技術記事では、Xcodeを起動することなくAppleプラットフォーム向けアプリを開発・配布するための具体的な手順を公開した。
記事の要点は次のとおり。Xcode.appのインストール自体は不可欠だが、GUI操作は不要。ビルドに必要なxcodebuild、公証に使うnotarytool、ステープル処理を行うstapler、デバイス操作のdevicectlはすべてXcode内部に含まれており、シェルから直接呼び出せる。
GUIが必要な初回セットアップ作業は3点のみ。Apple IDへのサインイン、Developer ID証明書の作成、公証用パスワードのキーチェーン登録だ。これらを済ませれば、以降はすべてヘッドレスで実行できる。
Macアプリの配布は「scripts/release.sh」という1つのシェルスクリプトにまとめる設計で、アーカイブ→Developer ID署名→公証→ステープル→/Applicationsへのインストールという一連の工程を自動実行する。署名は証明書とキーチェーンに基づく仕組みで、署名キーはログインキーチェーンに格納され、xcodebuildが自動で検出するためリポジトリ内に秘密情報を置く必要がない。
Xcodeプロジェクトの管理にはXcodeGenを使用する。XcodeGenはproject.ymlというYAMLファイルからビルドのたびに.xcodeproj一式を再生成するため、Gitリポジトリにはproject.ymlだけをコミットすればよく、.xcodeprojは.gitignoreで除外できる。XcodeGenはHomebrewまたはGitHubから入手可能。
xcode-selectコマンドで選択ツールチェーンが/Applications/Xcode.app/Contents/Developerになっているかを確認し、スタンドアロンのCommand Line Tools(/Library/Developer/CommandLineTools)ではなくXcode内のフルツールチェーンを指定することも重要な注意点として挙げられている。