Co-Pilot / 辅助式
更新于 3 months ago

app-store-review-skill

Ssafaiyeh
0.0k
safaiyeh/app-store-review-skill
76
Agent 评分

💡 摘要

一个根据苹果App Store审核指南检查iOS、macOS、tvOS、watchOS和visionOS应用代码,以识别潜在拒绝问题的技能。

🎯 适合人群

准备提交App Store的iOS/macOS开发者确保合规的移动应用产品经理审核应用是否违反准则的QA工程师针对苹果平台的React Native/Expo开发者

🤖 AI 吐槽:一份全面的检查清单,更像一本静态参考手册,而非一个智能、上下文感知的代理技能。

安全分析高风险

README描述了分析代码中是否存在硬编码密钥(如API密钥)和动态代码执行(如eval)。主要风险在于,如果该技能本身执行或扫描用户代码,可能会无意中暴露密钥或执行恶意代码。缓解措施:在无网络访问的沙盒环境中运行该技能,以防止密钥泄露。


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:

// 🔴 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!

High-Risk Issues

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 Sign in with Apple <GoogleSigninButton /> // Must also offer Apple login!

Medium-Risk Issues

// 🟠 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__

Pre-Submission Checklist

Privacy (Section 5.1)

  • [ ] Privacy policy link in App Store Connect
  • [ ] Privacy policy link accessible within app
  • [ ] All purpose strings are specific and accurate
  • [ ] App Privacy details completed in App Store Connect
  • [ ] ATT implemented if tracking users
  • [ ] Account deletion available if accounts exist
  • [ ] Data minimization - only requesting necessary permissions
  • [ ] User consent obtained before data collection

Payments (Section 3.1)

  • [ ] StoreKit used for all digital purchases
  • [ ] Restore purchases implemented
  • [ ] Subscription terms clearly displayed
  • [ ] Loot box odds disclosed if applicable
  • [ ] No external payment for digital goods (unless entitled)
  • [ ] Credits/currencies don't expire

Safety (Section 1.x)

  • [ ] No objectionable content
  • [ ] UGC moderation implemented (filter, report, block, contact)
  • [ ] Parental gates for Kids Category apps
  • [ ] No false information or prank features
  • [ ] Medical disclaimers if applicable
  • [ ] No substance promotion

Performance (Section 2.x)

  • [ ] No crashes or bugs
  • [ ] All features complete and functional
  • [ ] No placeholder content
  • [ ] IPv6 tested and functional
  • [ ] Demo account provided if needed
  • [ ] Using only public APIs
  • [ ] No deprecated APIs
  • [ ] Proper background mode usage

Design (Section 4.x)

  • [ ] Sufficient native functionality (not just web wrapper)
  • [ ] No copycat concerns
  • [ ] Original app name and branding
  • [ ] Extensions comply with guidelines
  • [ ] Login alternatives if using social login
  • [ ] Not monetizing built-in capabilities

Legal (Section 5.x)

  • [ ] No unlicensed third-party content
  • [ ] Proper Apple trademark usage
  • [ ] Gambling license if applicable
  • [ ] VPN uses NEVPNManager API
  • [ ] COPPA/GDPR compliance for kids

References

五维分析
清晰度8/10
创新性6/10
实用性9/10
完整性8/10
可维护性7/10
优缺点分析

优点

  • 涵盖广泛的审核准则并提供实用代码示例。
  • 清晰的风险分类有助于确定修复优先级。
  • 支持多种技术栈。
  • 提供详细的提交前检查清单。

缺点

  • 静态规则库,缺乏动态分析能力。
  • 没有明确的AI代理集成API。
  • 维护负担高。
  • 依赖于人工查阅。

相关技能

pytorch

S
toolCode Lib / 代码库
92/ 100

“它是深度学习的瑞士军刀,但祝你好运能从47种安装方法里找到那个不会搞崩你系统的那一个。”

agno

S
toolCode Lib / 代码库
90/ 100

“它承诺成为智能体领域的Kubernetes,但得看开发者有没有耐心学习又一个编排层。”

nuxt-skills

S
toolCo-Pilot / 辅助式
90/ 100

“这本质上是一份组织良好的小抄,能把你的 AI 助手变成一只 Nuxt 框架的复读机。”

免责声明:本内容来源于 GitHub 开源项目,仅供展示和评分分析使用。

版权归原作者所有 safaiyeh.