IOS Readiness
Purpose
Verify the iOS app is ready to build and submit: identifiers, signing/provisioning, entitlements/capabilities, permission usage strings, privacy manifest, and store guideline fit.
When to Use
- Before an iOS store build/submission.
- When adding a capability that changes entitlements/permissions.
- Not for Android specifics (
android-readiness).
Inputs
- iOS project config (bundle id, entitlements, Info.plist).
- The capabilities/permissions the app uses.
Discovery Questions
- Is the bundle identifier correct and stable?
- Are signing/provisioning and capabilities set for each used feature?
- Do all used permissions have Info.plist usage strings?
- Is a privacy manifest / data-use disclosure needed?
Responsibilities
- Verify bundle identifier and signing/provisioning.
- Verify entitlements/capabilities match used features (push, background, associated domains).
- Verify Info.plist usage strings for every permission requested.
- Check privacy manifest/data disclosures and App Store guideline fit.
- Flag gaps; don't change signing configs without approval.
Required Workflow
- Read iOS config + used capabilities/permissions.
- Cross-check entitlements/capabilities vs features.
- Verify permission usage strings.
- Check privacy manifest + guideline fit.
- Record readiness findings + gaps.
Decision Rules
- Every requested permission needs an Info.plist usage string, or the app is rejected.
- Entitlements must match features (push/background/associated domains) or builds fail/reject.
- Bundle identifier and signing are not changed without approval (
../../../system/OPERATING_RULES.md).
- Privacy/data-use disclosures are required where applicable.
Rules
- Do not change signing/bundle id without explicit approval.
- No secrets in committed config (
../../security-review).
- Verify against current App Store requirements.
Anti-Patterns
- Missing permission usage strings.
- Entitlements not matching used capabilities.
- Changing signing/bundle id silently.
- Ignoring privacy-manifest requirements.
Validation Checklist
Definition of Done
A recorded iOS readiness report: verified identifiers/signing, matched entitlements, complete permission strings, privacy disclosures, and guideline fit — with gaps flagged and no unapproved signing changes.
Related Skills
mobile-builds, mobile-release, mobile-notifications, mobile-background-tasks, mobile-location-maps, mobile-deep-linking, ../../security-review
Related Knowledge
../../../knowledge/ (iOS config, store account).
Related References
../../../references/mobile/native/ when populated.
Context Loading Guidance
- Requires: iOS project config, used capabilities/permissions.
- Does not require: app screen logic, the full mobile skill set, unrelated references.
- May load:
mobile-builds, mobile-release.
- Stop when: iOS readiness findings are recorded.
Token Efficiency Guidance
Read iOS config + permission usage; don't read app logic. Summarize gaps.
1---2name: ios-readiness3description: Use to validate iOS release readiness — bundle identifier, signing/provisioning, entitlements/capabilities, Info.plist permission strings, privacy manifest, and App Store guidelines. Read-and-verify; flags gaps before submission.4---56# IOS Readiness78## Purpose910Verify the iOS app is ready to build and submit: identifiers, signing/provisioning, entitlements/capabilities, permission usage strings, privacy manifest, and store guideline fit.1112## When to Use1314- Before an iOS store build/submission.15- When adding a capability that changes entitlements/permissions.16- Not for Android specifics (`android-readiness`).1718## Inputs1920- iOS project config (bundle id, entitlements, Info.plist).21- The capabilities/permissions the app uses.2223## Discovery Questions2425- Is the bundle identifier correct and stable?26- Are signing/provisioning and capabilities set for each used feature?27- Do all used permissions have Info.plist usage strings?28- Is a privacy manifest / data-use disclosure needed?2930## Responsibilities3132- Verify **bundle identifier** and **signing/provisioning**.33- Verify **entitlements/capabilities** match used features (push, background, associated domains).34- Verify **Info.plist usage strings** for every permission requested.35- Check **privacy manifest**/data disclosures and **App Store guideline** fit.36- Flag gaps; don't change signing configs without approval.3738## Required Workflow39401. Read iOS config + used capabilities/permissions.412. Cross-check entitlements/capabilities vs features.423. Verify permission usage strings.434. Check privacy manifest + guideline fit.445. Record readiness findings + gaps.4546## Decision Rules4748- Every requested permission needs an Info.plist usage string, or the app is rejected.49- Entitlements must match features (push/background/associated domains) or builds fail/reject.50- Bundle identifier and signing are not changed without approval (`../../../system/OPERATING_RULES.md`).51- Privacy/data-use disclosures are required where applicable.5253## Rules5455- Do not change signing/bundle id without explicit approval.56- No secrets in committed config (`../../security-review`).57- Verify against current App Store requirements.5859## Anti-Patterns6061- Missing permission usage strings.62- Entitlements not matching used capabilities.63- Changing signing/bundle id silently.64- Ignoring privacy-manifest requirements.6566## Validation Checklist6768- [ ] Bundle id + signing/provisioning verified.69- [ ] Entitlements/capabilities match features.70- [ ] Info.plist usage strings present.71- [ ] Privacy manifest/disclosures checked.72- [ ] Store guideline fit reviewed.7374## Definition of Done7576A recorded iOS readiness report: verified identifiers/signing, matched entitlements, complete permission strings, privacy disclosures, and guideline fit — with gaps flagged and no unapproved signing changes.7778## Related Skills7980`mobile-builds`, `mobile-release`, `mobile-notifications`, `mobile-background-tasks`, `mobile-location-maps`, `mobile-deep-linking`, `../../security-review`8182## Related Knowledge8384`../../../knowledge/` (iOS config, store account).8586## Related References8788`../../../references/mobile/native/` when populated.8990## Context Loading Guidance9192- **Requires:** iOS project config, used capabilities/permissions.93- **Does not require:** app screen logic, the full mobile skill set, unrelated references.94- **May load:** `mobile-builds`, `mobile-release`.95- **Stop when:** iOS readiness findings are recorded.9697## Token Efficiency Guidance9899Read iOS config + permission usage; don't read app logic. Summarize gaps.