#howto
Натрапив на покрокову інструкцію Скотта Віллсі: Xcode лишається встановленим, але його вікно більше не відкривається. Усе живе в терміналі, а руками водить Claude Code. Переказую воркфлоу.
1. Разова настройка — тут GUI таки доведеться відкрити. Увійди в Apple ID у Xcode, створи сертифікат Developer ID Application. Приватний ключ осідає в keychain і вдруге не завантажиться.
2. Прийми ліцензію:
sudo xcodebuild -license accept
sudo xcodebuild -runFirstLaunch
3. Збережи креденшел для нотаризації (потрібен app-specific password з appleid.apple.com):
xcrun notarytool store-credentials App-Name --apple-id you@mail.com --team-id TEAM-ID
4. brew install xcodegen — .xcodeproj більше не тримаєш у git, а генеруєш з project.yml командою xcodegen generate
5. Швидкий білд без підпису:
xcodebuild -scheme MyApp-macOS -destination 'platform=macOS' CODE_SIGNING_ALLOWED=NO build
6. Тести — чистий SPM: swift test
7. Реліз одним скриптом ./scripts/release.sh: xcodegen > archive > export з Developer ID > notarytool submit --wait > stapler staple > перевірка spctl > копія в /Applications
8. На реальний iPhone: xcodebuild -allowProvisioningUpdates archive, далі
xcrun devicectl device install app --device <UDID>
9. Напиши CLAUDE.md з командами білду й назвами нотарі-профілів — щоб агент не перепитував щоразу
Підводні камені, про які він попереджає:
→ Сертифікати два, і вони різні. Apple Development — для локального дебагу, Developer ID Application — для дистрибуції. Публікується тільки другий.
→
CODE_SIGNING_ALLOWED=NO дає швидкий білд, але Gatekeeper такий застосунок заріже, а права на iCloud чи App Groups не активуються.→ App-specific password тихо помирає, щойно зміниш пароль Apple ID. Прилетіла 401 — генеруй новий.
→ Нотаризація — не підпис. Підпис каже, хто автор; нотаризація — це сканування на шкідливий код.
Найцінніше тут не сам факт «дивіться, я без Xcode». Найцінніше — XcodeGen плюс CLAUDE.md. Разом вони роблять проєкт таким, що агент збирає його сам: файл проєкту, який вічно конфліктує в мержах, зникає з репозиторію, а команди білду перетворюються на документ. Решта — звичайний xcodebuild, який був тут завжди.
https://scottwillsey.com/building-and-shipping-mac-and-ios-apps-without-ever-opening-xcode/
📎 Читайте також:
→ cmux — нативний Mac-термінал під роботу з AI-агентами
→ Zero to Claude Code — безплатний курс з vibe-кодингу
→ Десять місяців роботи з AI-агентами, зібрані в один репозиторій