本文へ移動
cccskills
無料GitHub で公開

ios-signing-doctor

Diagnose and fix iOS code-signing, provisioning, and entitlement failures — the "no signing certificate / no profiles / doesn't match / get-task-allow" family, using codesign/security to inspect what's actually signed. Use when an archive, upload, or CI build fails on signing.

インストール方法を見る

含まれるファイル(1)

  • SKILL.md4.5 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

iOS Signing Doctor

Diagnose the code-signing / provisioning failure family — the single most common iOS release blocker — and fix it, rather than guessing. Belongs to the ios-release-engineer discipline.

Arguments

  • error-message-or-log-path — paste the signing error or point at the build log (optional).

The mental model (why signing fails)

A build installs/runs only if four things agree: signing certificate (identity; private key in Keychain, .p12 = cert+key) + App ID (bundle ID + capabilities) + provisioning profile (ties cert + App ID + devices + entitlements, Apple-signed) + entitlements (must be a subset the App ID/profile authorize). Most failures are a mismatch among these.

Steps

1. Inspect what is actually signed (don't guess)

security find-identity -v -p codesigning          # usable signing identities
security cms -D -i embedded.mobileprovision        # dump the profile plist
codesign -dv --entitlements :- MyApp.app           # embedded entitlements (incl. get-task-allow, aps-environment)
codesign --verify --deep --strict MyApp.app        # verify the signature

2. Match the symptom to the cause

Symptom / errorLikely causeFix
"No signing certificate 'Apple Distribution' found"Cert/private key not in keychain, or wrong teamImport the .p12; verify with security find-identity
"No profiles for 'com.acme.MyApp' were found"No profile for that bundle ID + certRegenerate the profile (or fastlane match); check the exact bundle ID
"Provisioning profile doesn't include signing certificate"Profile built against a different certRegenerate the profile with the current cert
"doesn't support the … capability" / "entitlements don't match"Entitlement in the binary not enabled on the App ID / not in the profileEnable the capability on the App ID, regenerate the profile — or remove the stray entitlement you don't actually use
"Provisioning profile has expired"Dev/Ad Hoc profile past expiryRegenerate
errSecInternalComponent on CI codesignKeychain locked / partition list not setsecurity set-key-partition-list -S apple-tool:,apple: -s -k <pw> <keychain>
Upload rejected: "Invalid Provisioning Profile … get-task-allow"Debug entitlement in a store buildArchive with Release config + distribution profile (see below)
Bundle ID mismatchInfo.plist CFBundleIdentifier ≠ App IDAlign exactly (case-sensitive)

3. Common root fixes

  • get-task-allow=true in a store build (the #1 upload rejection): it's set implicitly by the profile type — archive with the Release configuration and an App Store distribution profile, not a development profile. Verify it's gone with the codesign -dv --entitlements command.
  • Only enable capabilities you use: a stray capability (Push, iCloud, App Groups, Background Modes) adds an entitlement that needs matching App ID/profile support, or the archive fails. Remove what you don't use.
  • Push works in debug but not TestFlight: aps-environment must be production for App Store / TestFlight builds (they always use production APNs).
  • CI: prefer manual signing (or fastlane match --readonly) for reproducibility; set up a temporary keychain, import the .p12, run set-key-partition-list, install the profile. Auth to Apple via an App Store Connect API key (.p8), not Apple-ID/password.
  • Build-script sandboxing: a build-phase script that reads git/the environment may need ENABLE_USER_SCRIPT_SANDBOXING = NO on that target (leave YES elsewhere), or the archive fails.

4. Report

State the identified cause, the exact fix applied, and the verification command output proving it's resolved (e.g. get-task-allow now absent). Re-run the archive/upload to confirm.

Notes

  • Automatic signing is fine for solo/local work but non-deterministic for teams/CI — prefer manual or match there.
  • For a full pre-submission audit (privacy surfaces, guidelines), use ios-appstore-submit; for the TestFlight flow, ios-testflight-release.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Generate a GitHub Actions workflow for Android — JDK + Gradle caching, build, unit + instrumented tests, Android Lint, run the Android pre-flight checks, and (optionally) sign + upload a signed app bundle to a Play track. Use when setting up CI for an Android app.

日本語の概要は準備中です。原文の説明を表示しています。

SteveGJones/ai-first-sdlc-practices412026年10月5日 更新

Validated Google Play release — runs the pre-flight checks and clears the Play policy gates, builds a signed app bundle with a git-stamped versionCode, uploads to a track, and walks staged rollout (with halt/roll-forward). Use when releasing an Android app to Play.

日本語の概要は準備中です。原文の説明を表示しています。

SteveGJones/ai-first-sdlc-practices412026年10月5日 更新

Scaffold a new Android app with SDLC and Play-safe defaults — Kotlin/Compose Gradle project with version catalog, convention plugins, module layout, a targetSdk that meets the Play mandate, R8 on release, and git-ignored signing so it passes the pre-flight checker from day one. Use when starting a new Android project.

日本語の概要は準備中です。原文の説明を表示しています。

SteveGJones/ai-first-sdlc-practices412026年10月5日 更新

Set up Android app signing safely — generate an upload keystore, enroll in Play App Signing, and wire a Gradle release signingConfig that reads secrets from a git-ignored keystore.properties / CI (never committed). Use when configuring signing for a Play release.

日本語の概要は準備中です。原文の説明を表示しています。

SteveGJones/ai-first-sdlc-practices412026年10月5日 更新

Pick an existing workflow for a task or author a new one — recommends workflow + team formation, or generates a fresh workflow YAML with command prompts and team validation.

日本語の概要は準備中です。原文の説明を表示しています。

SteveGJones/ai-first-sdlc-practices412026年10月5日 更新

Guide the team through writing a change-impact record for IEC 62304 / FDA / ISO 26262 ASIL C+ projects. Surfaces the affected REQ/DES/TEST/CODE artefacts and captures human-attested verification approach.

日本語の概要は準備中です。原文の説明を表示しています。

SteveGJones/ai-first-sdlc-practices412026年10月5日 更新

SteveGJones のスキルをすべて見る

このスキルの問題を報告する