Skip to content
Latchkey

xcodebuild "Signing for ... requires a development team" in CI

The target has no development team configured, so Xcode cannot pick a signing certificate or profile. In the IDE you set it in the Signing editor; in CI you must pass DEVELOPMENT_TEAM explicitly.

What this error means

xcodebuild fails with "Signing for 'App' requires a development team. Select a development team in the Signing & Capabilities editor." (Code 1).

xcodebuild
error: Signing for "App" requires a development team. Select a development team
in the Signing & Capabilities editor. (in target 'App' from project 'App')

Common causes

DEVELOPMENT_TEAM is unset for the target

The project has no team id baked in, so on a runner with no signed-in account Xcode has nothing to sign with.

Signing settings were left to the IDE

The team was selected interactively in Xcode locally but never committed to build settings, so CI builds with no team.

How to fix it

Pass the team id on the command line

  1. Find the 10-character Team ID in the Apple Developer account membership page.
  2. Pass DEVELOPMENT_TEAM (and CODE_SIGN_STYLE=Manual) to xcodebuild.
  3. Re-run the build so signing has a team to resolve against.
Terminal
xcodebuild -scheme App -archivePath build/App.xcarchive archive \
  DEVELOPMENT_TEAM=ABCDE12345 CODE_SIGN_STYLE=Manual

Set the team in the export options plist

When exporting an IPA, declare the team id so exportArchive can re-sign without prompting.

ExportOptions.plist
<key>teamID</key>
<string>ABCDE12345</string>

How to prevent it

  • Set DEVELOPMENT_TEAM in build settings or pass it on every CI invocation.
  • Use manual code signing in CI rather than automatic.
  • Store the Team ID as a CI variable so all jobs use the same value.

Related guides

Tired of flaky CI? Latchkey auto-heals failed jobs and retries them for you. Start free →