Przejdź do treści
Biblioteka skilli
Programowanie · Przegląd i audyt

ios-app-store-readiness

/ios-app-store-readiness

Sprawdza gotowość aplikacji do zgłoszenia w App Store: manifesty prywatności, zgodność eksportowa, opisy uprawnień, App Tracking Transparency, Sign in with Apple i typowe powody odrzucenia.

Licencja
MIT
Ostatnia zmiana repozytorium
01.09.2026

Ocena i bezpieczeństwo

100/ 100Klasa: dobry
Format25 / 25
Frontmatter z nazwą i opisem, poprawna nazwa, opis do 1024 znaków, nazwa zgodna z folderem.
Odkrywalność25 / 25
Opis mówi, kiedy użyć skilla, ma sensowną długość i jest w 3. osobie.
Treść35 / 35
Co najmniej 150 słów i do 500 linii, nagłówki, listy kroków, przykłady albo kod.
Higiena15 / 15
Bez zaślepek typu TODO, bez ścieżek Windows, z licencją.
Ryzykobrak sygnałów w skanie
Pliki w paczce
1
Skrypty
0
Komentarze HTML
0
Adresy URL w SKILL.md
1
Przestarzałość

Brak sygnałów. Repozytorium zmienione 01.09.2026, bez odwołań do wycofanych modeli i API.

Licencja

MIT, otwarta: można używać i zmieniać, z zachowaniem informacji o autorze.

Co robi i kiedy

Sprawdza gotowość aplikacji do zgłoszenia w App Store: manifesty prywatności, zgodność eksportowa, opisy uprawnień, App Tracking Transparency, Sign in with Apple i typowe powody odrzucenia.

Wyzwalacze z opisu

is this ready to submitwill this get rejected
Oryginalny opis (EN)

App Store submission readiness checklist covering privacy manifests, export compliance, permission usage descriptions, App Tracking Transparency, Sign in with Apple parity, and common rejection triggers. Use when asked "is this ready to submit", "will this get rejected", or to check App Store compliance before release.

Jak działa

  1. 1. Privacy manifest
  2. 2. Export compliance
  3. 3. Permission usage descriptions
  4. 4. App Tracking Transparency
  5. 5. Sign in with Apple parity
  6. 6. Unused entitlements & background modes
  7. 7. Common code-level rejection triggers
  8. Reporting
Sekcje z nagłówków SKILL.md, w oryginale · 116 linii, 638 słów
Podgląd SKILL.md
---
name: ios-app-store-readiness
description: App Store submission readiness checklist covering privacy manifests, export compliance, permission usage descriptions, App Tracking Transparency, Sign in with Apple parity, and common rejection triggers. Use when asked "is this ready to submit", "will this get rejected", or to check App Store compliance before release.
---

# iOS App Store Readiness

A pre-submission audit, not a guarantee — Apple's actual review process
has human judgment calls this can't predict. This procedure catches the
mechanical, code-visible reasons apps get rejected or delayed.

## 1. Privacy manifest

```bash
find . -name "PrivacyInfo.xcprivacy"
```

If present, check it against actual code:
- **Required-reason API usage** — APIs Apple requires a declared reason
  for (e.g. `UserDefaults`, file timestamp APIs, disk-space APIs,
  system-boot-time APIs) are declared in the manifest if the code
  actually calls them.
- **Collected data types** — types declared match what the code and its
  dependencies actually collect, and whether each is linked to the
  user's identity or used for tracking.
- **Third-party SDK manifests** — SDKs that ship their own privacy
  manifest are current; SDKs that collect data but ship none are a gap
  to flag.

If no `PrivacyInfo.xcprivacy` exists and the app uses any required-reason
API or third-party SDKs that collect data, flag this as a submission
blocker, not a nice-to-have.

## 2. Export compliance

```bash
grep -rn "ITSAppUsesNonExemptEncryption" **/*.plist 2>/dev/null
grep -rln "CommonCrypto\|CryptoKit\|SecKey" --include="*.swift" .
```

- Standard HTTPS/TLS usage is export-exempt; check whether the app also
  implements custom cryptography (`CommonCrypto`, `CryptoKit` beyond
  standard TLS, custom `SecKey` usage) that would need its own export
  compliance documentation, not just the standard exemption.
- `ITSAppUsesNonExemptEncryption` should be set to match reality — set
  to `false` when only using standard exempt encryption avoids an
  unnecessary compliance question at every submission.

## 3. Permission usage descriptions

```bash
grep -o 'NS[A-Za-z]*UsageDescription' **/*.plist 2>/dev/null
grep -rln "AVCaptureDevice\|CLLocationManager\|PHPhotoLibrary\|EventKit\|CNContactStore\|AVAudioSession.*record" --include="*.swift" .
```

Cross-reference: every permission-gated API actually used in code
(camera, location, photos, contacts, calendar, microphone, etc.) needs
a matching `NS*UsageDescription` string in Info.plist, **and** that
string should explain *why* the app needs it, not just restate the
permission name — "This app uses your location" gets rejected far more
often than "Used to show restaurants near you." Flag both a missing
description string and a present-but-generic one.

## 4. App Tracking Transparency

```bash
grep -rln "AppTrackingTransparency\|ATTrackingManager\|AdSupport" --include="*.swift" .
grep "NSUserTrackingUsageDescription" **/*.plist 2>/dev/null
```

If the app uses IDFA or any tracking-adjacent API, it needs
`NSUserTrackingUsageDescription` and must show the ATT prompt
(`ATTrackingManager.requestTrackingAuthorization`) before tracking
actually begins, not after.

## 5. Sign in with Apple parity

```bash
grep -rln "GIDSignIn\|FBSDKLoginKit\|GoogleSignIn" --include="*.swift" .
grep -rln "ASAuthorizationAppleIDProvider\|SignInWithAppleButton" --include="*.swift" .
```

If the app offers a third-party social login (Google, Facebook, etc.)
as a primary sign-in option, Apple requires offering Sign in with Apple
as an equivalent option. This is one of the most common non-obvious
rejection reasons — flag it explicitly if a third-party login is found
without a corresponding Sign in with Apple implementation.

## 6. Unused entitlements & background modes

```bash
find . -name "*.entitlements" -exec cat {} \;
grep -A10 "UIBackgroundModes" **/*.plist 2>/dev/null
```

A requested capability or background mode with no corresponding code
usage is both an unnecessary rejection risk and unnecessary attack
surface (see `ios-security-review` for the security angle on this same
check — don't duplicate that audit here, just flag the App Store risk).

## 7. Common code-level rejection triggers

- Placeholder or "Lorem ipsum" text/images left in shipped UI.
- Obvious crash-on-launch conditions (force-unwraps on data that could
  be missing at first launch, e.g. a nil server response).
- Broken or `http://`-only links to external content (also flagged in
  `ios-security-review`'s transport-security check).
- Any in-app purchase or subscription code that doesn't go through
  StoreKit (App Store rules require IAP for digital goods/services).

## Reporting

Close with the `ios-evidence-reporting` skill's status block (e.g.
`PRIVACY-MANIFEST`, `EXPORT-COMPLIANCE`, `PERMISSIONS`, `ATT`,
`SIGN-IN-PARITY`, `ENTITLEMENTS`) — only categories actually relevant to
what was reviewed, each backed by the file:line evidence or command
output already shown above. This is a code-visible audit only —
metadata, screenshots, and app description content need a human's
review in App Store Connect and are out of scope here.

Wersje

W bazie nie ma innych skilli o nazwie ios-app-store-readiness.

Migawka bazy z 28.10.2026 · wersja paczki faf15aa9af19 (skrót SHA-256 całej paczki)

Pobrania w ostatnich 30 dniach: 0 · ranking

Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.

Podobne skille

  • 100app-store-review
    Audytuje gotowość zgłoszenia aplikacji iOS fintech do App Store i ryzyko odrzucenia: wytyczne, PrivacyInfo.xcprivacy, etykiety prywatności, ATT i zgodność ze StoreKit.
  • 95appstore-readiness
    Ocenia gotowość aplikacji iOS do App Store z perspektywy zespołu recenzentów: zgodność, prywatność, płatności, metadane i odrzucenia.
  • 95app-store-preflight-skills
    Skanuje projekt Xcode iOS/macOS pod kątem typowych powodów odrzucenia przez App Store: metadane, subskrypcje, manifesty prywatności, entitlements i zgodność z wytycznymi projektu, z integracją z asc CLI.
  • 95app-store-review
    Przegląda kod aplikacji Apple pod kątem wytycznych App Store i wskazuje ryzyka odrzucenia przed złożeniem wniosku.
  • 100app-store-review
    Ocenia kod aplikacji na iOS, macOS, tvOS, watchOS i visionOS (Swift, Objective-C, React Native, Expo) względem wytycznych Apple App Store Review, wskazując potencjalne powody odrzucenia przed zgłoszeniem.
  • 100app-store-preflight-skills
    Skanuje projekt Xcode na iOS/macOS pod kątem typowych powodów odrzucenia w App Store przed zgłoszeniem, sprawdzając metadane, subskrypcje, privacy manifests, entitlements i zgodność z wytycznymi, z integracją z CLI asc.

Uwagi i zgłoszenia

Wiadomość trafi do Bartosza Sokolińskiego. Adres e-mail jest potrzebny tylko do odpowiedzi. Szczegóły w polityce prywatności.