本文へ移動
cccskills
無料GitHub で公開日本語紹介

app-store-review

AppleのApp Store審査ガイドラインに沿ってアプリのコードを点検します。課金や個人情報、ログインなどを確認し、申請前に却下につながり得る問題を洗い出します。

原文原文の説明を見る

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.

インストール方法を見る

こんなときに便利

  • App Store申請前の点検
  • 課金やサブスクリプションの確認
  • 個人情報とアカウント削除の確認
  • ユーザー投稿の管理機能の点検

日本語での紹介

できること

AppleのApp Store審査ガイドラインを基準に、アプリのコードから申請時の問題候補を探します。安全性、動作や機能の完成度、ビジネスモデル、デザイン、法的事項の5分野を扱います。個人情報の収集、アプリ内課金、サブスクリプション、ログイン、アカウント削除、ユーザー投稿の管理などを、ルール別の資料やチェックリストに沿って確認します。

こんなときに便利

初めての申請準備や、既存アプリの点検に向いています。課金や利用者データを扱う機能を追加するときにも、審査で懸念になり得る実装を見直せます。資料では問題をリスク別に分類し、確認項目とコード例を示しています。

使い方の例

  • 「申請前に、このアプリのコードを審査ガイドラインに沿って点検して」
  • 「課金処理とアカウント削除機能の懸念点を確認して」
  • 「ユーザー投稿の通報・ブロック機能を確認して」

注意点

対象はiOS、macOS、tvOS、watchOS、visionOSで、Swift、Objective-C、React Native、Expoに対応します。資料の基準日は2026年6月8日のガイドライン更新です。ライセンスはMITです。

この紹介文は、公開されている SKILL.md をもとに AI(OpenAI Codex)が作成しました。正確な仕様は下の原文を確認してください。

含まれるファイル(14)

  • SKILL.md7.6 KB
  • .agents/plugins/marketplace.json364 B
  • .claude-plugin/marketplace.json619 B
  • .claude-plugin/plugin.json494 B
  • .codex-plugin/plugin.json1.2 KB
  • .gitignore223 B
  • agents/openai.yaml219 B
  • LICENSE1.0 KB
  • README.md6.3 KB
  • rules/1-safety.md23.3 KB
  • rules/2-performance.md28.0 KB
  • rules/3-business.md20.3 KB
  • rules/4-design.md19.1 KB
  • rules/5-legal.md31.5 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

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

Guidelines current through: Apple's June 8, 2026 App Review Guidelines update.

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:

SectionFileKey Topics
1. Safetyrules/1-safety.mdObjectionable content, UGC moderation, Kids Category, physical harm, data security
2. Performancerules/2-performance.mdApp completeness, metadata accuracy, hardware compatibility, software requirements
3. Businessrules/3-business.mdIn-app purchase, subscriptions, cryptocurrencies, other business models
4. Designrules/4-design.mdCopycats, minimum functionality, spam, extensions, Apple services, login
5. Legalrules/5-legal.mdPrivacy, data collection, intellectual property, gambling, VPN, MDM, developer code of conduct

Risk Levels by Category

Risk LevelCategorySectionCommon Rejection Reasons
CRITICALPrivacy & Data5.1Missing privacy policy, unauthorized data collection
CRITICALPayments3.1Bypassing in-app purchase, unclear pricing
HIGHSafety1.xObjectionable content, inadequate UGC moderation
HIGHPerformance2.xCrashes, incomplete features, deprecated APIs
MEDIUMDesign4.xCopycat apps, minimum functionality issues
MEDIUMLegal5.xIP 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 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()

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)
  • UGC violations can be removed quickly and backed by a remediation plan
  • Kids and teens receive age-appropriate experiences inside the app
  • 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
  • No duplicate Bundle ID spam or low-effort saturated-category clones
  • Live Activities, push notifications, and Game Center are not used for spam, phishing, or unsolicited messages
  • 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 (with real location-based geo-restriction)
  • VPN uses NEVPNManager API
  • COPPA/GDPR compliance for kids
  • Review prompts use the system API only (no custom prompts)
  • No review, chart, search, or referral manipulation (5.6)

References

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

コメント

ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。

まだコメントはありません。最初のコメントを書いてみませんか。

送信するとすぐに公開されます。メールアドレスや電話番号などの個人情報は書かないでください。URL は 2 つまでです。

0 / 1000 文字

このフォームは reCAPTCHA で保護されており、Google のプライバシーポリシーと利用規約が適用されます。

同じリポジトリのスキル

onlyswitch-deeplink

無料概要あり

自然な言葉で頼んだ操作をOnlySwitchの内蔵機能に対応付けて実行します。macOSでスリープ防止やダークモードの切り替え、ごみ箱の消去などを呼び出せます。

  • スリープ防止を切り替えたいとき
  • ダークモードを切り替えたいとき
  • ごみ箱を空にしたいとき
jacklandrin/OnlySwitch6,0032026年10月21日 更新

swift-concurrency-pro

無料概要あり

Swiftの非同期・並行処理をレビューし、共有データの扱い、タスクの構成、キャンセルなどを点検。問題箇所と修正前後のコード、対応の優先順位を示します。

  • actorと共有データの扱いを確認
  • タスク構成とキャンセル処理の点検
  • 厳格な並行処理チェックのエラー調査
jacklandrin/OnlySwitch6,0032026年10月21日 更新

swift-testing-pro

無料概要あり

Swift Testingを使う単体・結合テストの作成とレビューを支援します。非同期処理や検証方法を点検し、XCTestからの移行にも対応します。

  • 単体・結合テストを作成したいとき
  • 非同期処理のテストを点検したいとき
  • XCTestから移行したいとき
jacklandrin/OnlySwitch6,0032026年10月21日 更新

swiftui-pro

無料概要あり

SwiftUIのコードを読み、古いAPIやデータの受け渡し、画面構成、操作のしやすさ、性能を点検。問題のある箇所と修正前後のコードをファイル別に示します。

  • 既存のSwiftUIコードをレビュー
  • 非推奨APIを更新したいとき
  • 読み上げや文字サイズへの対応確認
jacklandrin/OnlySwitch6,0032026年10月21日 更新

writing-plans

無料概要あり

仕様や要件を、変更ファイル・実装コード・テスト手順まで含む実装計画にまとめます。作業を小さく分け、コードを書き始める前の準備や引き継ぎに使えます。

  • 実装前に開発計画を立てたいとき
  • 開発作業の引き継ぎ
  • 要件を検証可能なタスクに分けたいとき
jacklandrin/OnlySwitch6,0032026年10月21日 更新

jacklandrin のスキルをすべて見る

このスキルの問題を報告する