Engineering Notes · FAQ
2026年9月 — 合同会社ライトニング

AlarmKit に entitlement は要らない。 実際に必要なものはこれだけ。

結論: com.apple.developer.alarmkit は存在しません。宣言すべき AlarmKit の entitlement も、Developer ポータルで有効化する Capability もありません。.entitlements に入っていたら削除してください。

症状

シミュレータではビルドも実行も通ります。最初の実機ビルドで署名に失敗します。

Provisioning profile "..." doesn't include the com.apple.developer.alarmkit entitlement.

Developer ポータルで App ID に Capability を足そうとしても、該当するものがありません。ここで多くの人が検索を始めます。

なぜ起きるか

このキーは幻覚です。コード生成ツールが Info.plist の用途説明キー(NSAlarmKitUsageDescription、こちらは実在)と Capability の entitlement(実在しない)を混同し、com.apple.developer.alarmkit: true を entitlements に書き出します。シミュレータは entitlement をプロビジョニングプロファイルと突き合わせないので、そこでは動き、実機で落ちます。

Apple Developer Forums のスレッド 797950 で Apple のエンジニアがまさにこのパターンを説明しています。LLM が生み出した実在しない entitlement と、「宣言する entitlement」「申請が要る entitlement」「Info.plist のキー」を区別できない開発者、という構図です。

AlarmKit が実際に必要とするもの

直し方

<!-- YourApp.entitlements: このブロックをまるごと削除 -->
<key>com.apple.developer.alarmkit</key>
<true/>

ビルドフォルダをクリーンして実機向けに再ビルドすれば署名が通ります。他に変えるものはありません。

関連

長い版の AlarmKit アプリを出荷して分かったこと では、決定的なアラーム ID、14日先出し登録、Live Activity の共有ターゲット、事前許可画面で受けた審査 5.1.1(iv) のリジェクトを扱っています。English: Is there an AlarmKit entitlement?

題材のアプリは キーワードアラーム(KeyAlarm)、カレンダーの予定を iOS 26 の本物のアラームにするアプリです。AlarmKit についての質問は お問い合わせフォーム からどうぞ。