| name | app-store-review |
| description | Evaluates code against Apple's App Store Review Guidelines. Use this skill when reviewing iOS, macOS, tvOS, watchOS, or visionOS app code (Swift, Objective-C, React Native, or Expo) to identify potential App Store rejection issues before submission. Triggers on tasks involving app review preparation, compliance checking, or App Store submission readiness. |
| license | MIT |
| metadata | {"author":"safaiyeh","version":"1.0.0"} |
App Store Review Guidelines Checker
Comprehensive guide for evaluating iOS, macOS, tvOS, watchOS, and visionOS app code against Apple's App Store Review Guidelines. This skill covers EVERY guideline point to identify potential rejection issues before submission.
Supports: Swift, Objective-C, React Native, and Expo apps
When to Apply
Use this skill when:
- Preparing an app for App Store submission
- Reviewing code for compliance issues
- Implementing features that may trigger review concerns
- Auditing existing apps for guideline violations
- Building features involving payments, user data, or sensitive content
Guideline Sections
Read individual rule files for detailed explanations, checklists, and code examples:
| Section | File | Key Topics |
|---|
| 1. Safety | rules/1-safety.md | Objectionable content, UGC moderation, Kids Category, physical harm, data security |
| 2. Performance | rules/2-performance.md | App completeness, metadata accuracy, hardware compatibility, software requirements |
| 3. Business | rules/3-business.md | In-app purchase, subscriptions, cryptocurrencies, other business models |
| 4. Design | rules/4-design.md | Copycats, minimum functionality, spam, extensions, Apple services, login |
| 5. Legal | rules/5-legal.md | Privacy, data collection, intellectual property, gambling, VPN, MDM |
Risk Levels by Category
| Risk Level | Category | Section | Common Rejection Reasons |
|---|
| CRITICAL | Privacy & Data | 5.1 | Missing privacy policy, unauthorized data collection |
| CRITICAL | Payments | 3.1 | Bypassing in-app purchase, unclear pricing |
| HIGH | Safety | 1.x | Objectionable content, inadequate UGC moderation |
| HIGH | Performance | 2.x | Crashes, incomplete features, deprecated APIs |
| MEDIUM | Design | 4.x | Copycat apps, minimum functionality issues |
| MEDIUM | Legal | 5.x | IP violations, gambling without license |
Quick Reference: High-Risk Rejection Patterns
Critical Issues (Immediate Rejection)
Swift:
let selector = NSSelectorFromString("_privateMethod")
let apiKey = "sk_live_xxxxx"
func purchaseDigitalContent() {
openStripeCheckout()
}
React Native / Expo:
const API_KEY = "sk_live_xxxxx";
Linking.openURL("https://stripe.com/checkout");
eval(downloadedCode);
High-Risk Issues
Swift:
import FacebookAds
func createAccount() { }
React Native / Expo:
import analytics from '@react-native-firebase/analytics';
analytics().logEvent('event');
Linking.openURL('https://example.com/delete');
<GoogleSigninButton />
Medium-Risk Issues
"This app needs camera access"
const App = () => <WebView source={{ uri: 'https://site.com' }} />;
const text = "Also available on Android";
console.log('debug');
Pre-Submission Checklist
Privacy (Section 5.1)
Payments (Section 3.1)
Safety (Section 1.x)
Performance (Section 2.x)
Design (Section 4.x)
Legal (Section 5.x)
References