background-execution-audit

Detects iOS background mode abuse violating App Store Guideline 2.5.4.

Updated Aug 14, 2026
One-click install
npx skills add https://github.com/tvh25082004/Badminton --skill background-execution-audit-tvh25082004
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: background-execution-audit
Source: https://github.com/tvh25082004/Badminton/tree/main/.claude/skills/apple-app-review/quality/background-execution-audit
Command: npx skills add https://github.com/tvh25082004/Badminton --skill background-execution-audit-tvh25082004

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? iOS apps frequently get rejected from the App Store under Guideline 2.5.4 for misusing background execution modes, such as playing silent audio to stay alive or declaring location mode for non-navigation purposes. This Skill audits your project before submission to catch these rejection-triggering patterns early. ## Core Features & Use Cases - Silent Audio Detection: Finds apps declaring the audio background mode while playing inaudible audio solely to prevent suspension. - Background Mode Justification: Verifies that location and voip background modes match actual app functionality, such as CallKit integration for VoIP. - BGTaskScheduler Validation: Checks that declared fetch and processing modes are properly registered with BGTaskScheduler. - Use Case: Before submitting a fitness app, run this audit to discover that step counting uses background location instead of CMPedometer, a pattern Apple reviewers reject under 2.5.4. ## Quick Start Audit my iOS project for background execution mode abuse that could cause an App Store rejection under Guideline 2.5.4.

Frequently Asked Questions about background-execution-audit

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I check if my iOS app abuses background modes?▼

Audit your Info.plist UIBackgroundModes entries against actual API usage in your Swift code. This Skill greps for AVAudioSession, CLLocationManager, and CallKit patterns to verify each declared mode matches its intended purpose under Guideline 2.5.4.

Why was my app rejected under Guideline 2.5.4?▼

Common causes include playing silent audio to prevent suspension, declaring location background mode for non-navigation tasks like step counting, or using voip mode without CallKit. Each background mode must serve its designed purpose.

Can I use background location for step counting in iOS?▼

No, background location for step counting violates Guideline 2.5.4. Use CoreMotion APIs like CMPedometer or CMMotionActivityManager instead, which provide step and activity data without requiring continuous location updates.

What replaces silent audio for keeping an iOS app alive?▼

Use BGTaskScheduler with BGProcessingTask or BGAppRefreshTask for legitimate background work. Playing silent audio solely to prevent suspension is explicitly prohibited and results in rejection under Guideline 2.5.4.

Does this audit modify my project files?▼

No, the audit is strictly read-only. It uses Glob, Grep, and Read operations to inspect Info.plist and Swift sources, then reports prioritized findings with file paths and line numbers without editing anything.