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.
68
83%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
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
Guidelines current through: Apple's June 8, 2026 App Review Guidelines update.
Use this skill when:
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, developer code of conduct |
| 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 |
Swift:
// 🔴 Private API usage
let selector = NSSelectorFromString("_privateMethod")
// 🔴 Hardcoded secrets
let apiKey = "sk_live_xxxxx"
// 🔴 External payment for digital goods
func purchaseDigitalContent() {
openStripeCheckout() // Use StoreKit instead
}React Native / Expo:
// 🔴 Hardcoded secrets in JS bundle
const API_KEY = 'sk_live_xxxxx'; // REJECTION
// 🔴 External payment for digital goods
Linking.openURL('https://stripe.com/checkout'); // Use react-native-iap
// 🔴 Dynamic code execution
eval(downloadedCode); // REJECTION
// 🔴 Major feature changes via CodePush/expo-updates
// OTA updates for bug fixes only, not new features!Swift:
// 🟡 Missing ATT when using ad SDKs
import FacebookAds // Without ATTrackingManager
// 🟡 Account creation without deletion
func createAccount() { } // But no deleteAccount()React Native / Expo:
// 🟡 Missing ATT (use expo-tracking-transparency)
import analytics from '@react-native-firebase/analytics';
analytics().logEvent('event'); // Without ATT prompt = REJECTION
// 🟡 Account deletion via website only
Linking.openURL('https://example.com/delete'); // Must be in-app!
// 🟡 Social login without a privacy-preserving alternative (4.8)
<GoogleSigninButton /> // Also offer a login meeting 4.8 criteria
// (Sign in with Apple is the simplest option)
// 🟡 Custom review prompts (5.6.1)
showCustomAlert('Rate us 5 stars!'); // Use StoreReview.requestReview()// 🟠 Vague purpose strings in Info.plist
"This app needs camera access" // Be specific!
// 🟠 WebView-only app (insufficient native functionality)
const App = () => <WebView source={{ uri: 'https://site.com' }} />;
// 🟠 References to Android in iOS app
const text = "Also available on Android"; // REJECTION
// 🟠 console.log in production
console.log('debug'); // Remove or wrap in __DEV__0ffdc5c
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.