# Missing Compliance TestFlight: így javítod végleg

> A Missing Compliance azt jelenti, hogy az Apple a titkosítási nyilatkozatodra vár. Oldd fel a buildet az App Store Connectben, majd állítsd be a kulcsot.

Eredeti oldal: [Missing Compliance TestFlight: így javítod végleg](https://devoria.fr/hu/blog/missing-compliance-testflight-javitas)
Szerző: [Mehdi Azizi](https://devoria.fr/hu/mehdi-azizi)
Megjelenés: 2026-11-06
A tartalom utolsó frissítése: 2026-11-06


**A Missing Compliance nem hiba: egy build, ami a titkosításra vonatkozó válaszodra vár.** Amíg nem válaszolsz, a build a tesztelőid számára blokkolva marad. Ennél a buildnél az App Store Connect TestFlight fülén válaszolsz a kérdésekre. A következőknél beállítod az ITSAppUsesNonExemptEncryption kulcsot az Info.plist fájlodban, vagy Expóval az app.json-ban az `ios.config.usesNonExemptEncryption` kulcsot, és a státusz többé nem jön vissza.

Az iOS-appjaimat Expóval készítem. A Solys app.json fájljában a kulcs értéke `false`, és kétszer szerepel: az `ios.config` és az `ios.infoPlist` alatt. Ez az útmutató az Apple [buildstátuszokról](https://developer.apple.com/help/app-store-connect/reference/app-uploads/app-build-statuses/) és a [bétabuildek exportmegfeleléséről](https://developer.apple.com/help/app-store-connect/test-a-beta-version/provide-export-compliance-information-for-beta-builds/) szóló oldalait követi, 2026. november 6-i állapot szerint.

## Mit jelent a Missing Compliance

Az Apple buildstátusz-listája egy mondatban definiálja: hiányzik az exportmegfelelési dokumentáció, és tőled vár lépést. Az Apple sárgával jelzi, ez egy folyamatban lévő állapot színe, ami rajtad vagy az Apple-ön múlik, a leírása pedig kiemeli, hogy tőled vár lépést.

Miért kérdez rá az Apple? A [titkosítás exportszabályairól szóló oldal](https://developer.apple.com/documentation/security/complying-with-encryption-export-regulations) elmagyarázza: amikor buildet küldesz a TestFlightra vagy az App Store-ba, egy amerikai szerverre küldöd. Ha az appodat az Egyesült Államokon és Kanadán kívül is terjesztik, az amerikai exportjog hatálya alá esik, függetlenül attól, melyik országban van a céged. És amint egy app titkosítást használ, tartalmaz vagy beépít, az Apple ezt titkosító szoftver exportjának tekinti.

**Az eredmény: minden új verziónál az App Store Connect felteszi a megfelelési kérdéseket, kivéve ha az Info.plist már válaszol rájuk.** Ezért érkezik egy első Expo-build szinte mindig Missing Compliance státusszal.

## A várakozó build feloldása

A lépések az Apple bétabuildek exportmegfeleléséről szóló oldaláról származnak. Account Holder, Admin vagy App Manager szerepkör kell hozzá.

1. Az Apps alatt nyisd meg az appodat, majd a TestFlight fület.
2. Az oldalsávban, a Builds alatt válaszd ki a platformot.
3. A Build oszlopban kattints az érintett build ikonjára vagy számára.
4. Kattints a Provide Export Compliance Information gombra, majd válaszolj a kérdésekre.
5. Ha az Apple dokumentációt kér, kattints a Go to App Encryption Page gombra a feltöltéshez. Ha nem, kattints a Save gombra.

Az Apple egy rövidebb utat is leír: a build mellett a Manage link ugyanazokat a kérdéseket nyitja meg, a Choose File pedig lehetővé teszi egy már jóváhagyott dokumentáció csatolását. Mentés után a build Ready to Submit állapotba kerül, vagy egyből Testing állapotba, ha belső csoportnak megy. A Ready to Test csak a külső tesztelők bétaellenőrzése után jön.

**Nem kattintható a Manage link?** Először ellenőrizd a szerepköröd a csapatban: az Apple a választ az Account Holder, Admin és App Manager szerepkörnek tartja fenn, egy Developer vagy Marketing fiók nem tud válaszolni. Más okot az Apple nem dokumentál. Ha a buildet épp most küldted fel, várd meg a feldolgozás végéről szóló e-mailt, amit a [buildszámról és a verzióról](https://devoria.fr/hu/blog/app-store-connect-build-number-verzio-buildszam) szóló útmutató részletez, majd töltsd újra az oldalt.

## Soha többé ne kelljen válaszolni: a kulcs a projektedben

Az Apple a bétabuildek oldalán leírja: az Info.plist-ben jelezheted, hogy az appod nem használ titkosítást, vagy mentesül alóla, és onnantól nem kell minden beküldésnél válaszolnod. A kulcs neve [ITSAppUsesNonExemptEncryption](https://developer.apple.com/documentation/bundleresources/information-property-list/itsappusesnonexemptencryption). Az Xcode App Uses Non-Exempt Encryption néven mutatja.

| Eszközöd           | Fájl         | Hol                            | Érték |
| ------------------ | ------------ | ------------------------------ | ----- |
| Expo (EAS Build)   | `app.json`   | `expo.ios.config`              | false |
| Expo, másik út     | `app.json`   | `expo.ios.infoPlist`           | false |
| Natív React Native | `Info.plist` | App Uses Non-Exempt Encryption | NO    |
| Xcode, Swift       | `Info.plist` | App Uses Non-Exempt Encryption | NO    |

Expóban a kulcs neve `usesNonExemptEncryption`, és a [konfigurációs referencia](https://docs.expo.dev/versions/latest/config/app/) szerint ez beírja az Apple-kulcsot a build Info.plist fájljába, az `ios.config` pedig csak a buildhez kell: nem jelenik meg a production manifestben.

```json
{
  "expo": {
    "ios": {
      "config": {
        "usesNonExemptEncryption": false
      }
    }
  }
}
```

Expóban az `ios.infoPlist` is elfogadja a kulcsot az Apple-féle nevén, ugyanazzal az értékkel: ez a Solys app.json fájljának második sora. Natív projektben ugyanez a nyilatkozat egy sor az Info.plist-ben: az App Uses Non-Exempt Encryption kulcs (ezt a nevet mutatja az Xcode), NO értékkel. Az érték boolean, nem string.

**A kulcs a következő buildtől érvényes.** A már felküldött build Missing Compliance állapotban marad, amíg nem válaszolsz az App Store Connectben: a két lépés nem helyettesíti, hanem kiegészíti egymást.

## false vagy true: hogyan döntsd el

Az Apple így definiálja a NO értéket: az appod, a külső könyvtárakat is beleértve, egyáltalán nem használ titkosítást, vagy csak olyat, ami mentesül a dokumentációs kötelezettség alól. Egyébként YES.

Ami általában mentes az exportszabályokról szóló oldal szerint: a rendszerbe épített titkosítás, például a HTTPS-kapcsolatok URLSession-nel. Ami nem: a saját titkosítás, amit te írtál vagy beágyaztál. Az [exportmegfelelés áttekintése](https://developer.apple.com/help/app-store-connect/manage-app-information/overview-of-export-compliance/) egy fontos emlékeztetőt is hozzátesz: te felelsz az értelmezésért és a következményeiért, ha jogtalanul hivatkozol mentességre.

Egy Expo-appnál, ami HTTPS-en hív egy API-t, beállításokat tárol és előfizetést árul, a `false` a szokásos válasz. Egy appnál, ami maga titkosít üzeneteket, fájlokat vagy egy széfet, a válasz `true`, és az Apple dokumentációt vár.

> Ne írj `false`-t reflexből. Nézd át a függőségeidet: egy végponttól végpontig titkosító könyvtár vagy egy saját titkosított tároló átbillent a dokumentációs oldalra.

## Ha az appod nem mentes titkosítást használ

A [titkosítási dokumentációról szóló oldal](https://developer.apple.com/help/app-store-connect/manage-app-information/determine-and-upload-app-encryption-documentation/) leírja a folyamatot. Az App Information alatt, az App Encryption Documentation mellett a hozzáadás gomb megnyitja a kérdéseket, utána Choose File a dokumentumhoz, majd Save. Az Apple azt kéri, hogy előtte töltsd ki az app leírását és állítsd be az elérhetőségét, hogy meg tudja ítélni, elég-e a dokumentáció. Hiánytalan anyagnál nagyjából két munkanapot céloz meg.

Miután a dokumentációt jóváhagyták, az Apple ad egy értéket, amit az Info.plist `ITSEncryptionExportComplianceCode` kulcsába kell beírnod. Ezzel nincs több kérdés feltöltésenként. Az ellenőrzés alatt a buildeden Waiting for Export Compliance Review vagy In Compliance Review látszik: ilyenkor nem vár tőled lépést.

Két dolog, amire az Apple felhívja a figyelmet, az egyik az exportszabályok oldalán, a másik a megfelelés áttekintésében:

- **Mentes titkosítás mellett is előírhatnak éves önbesorolási jelentést az amerikai kormány felé.** Nem kell, ha nem mentes titkosítást használsz, és a dokumentációt beadtad az Apple-nek.
- **Franciaország is ellenőrzi a titkosító appok importját és exportját.** Az Apple áttekintése az érintett területek között a biztonságos tárolást, a biztonságos kommunikációt és a vírusirtókat említi, mentességgel a banki és egészségügyi appokra, és az ANSSI-hoz irányít.

## Mi történik ezután a TestFlightban

A feloldott build egy TestFlight-build szokásos életét éli, amit a [TestFlight az iPhone-app teszteléséhez](https://devoria.fr/hu/blog/testflight-iphone-app-tesztelese) útmutató ír le: belső tesztelők azonnal, külső tesztelők a bétaellenőrzés után, és lejárat 90 nap után, a buildstátusz-lista szerint. Egy Expo-feltöltés egyéb lehetséges akadályai, például egy már használt buildszám vagy egy elutasított fájl, [az EAS App Store Connectbe küldési hibáiról](https://devoria.fr/hu/blog/eas-submit-ios-hibak-javitas) szóló cikkben vannak, a teljes folyamat pedig az [Expo-app közzététele az App Store-ban EAS-szel](https://devoria.fr/hu/blog/eas-submit-ios-expo-app-store-kozzetetel) cikkben.

Az [iOS & Android Kit](https://devoria.fr/hu/kits/ios) tartalmazza az Expo kezdőkódomat, ezzel a kulccsal már beállítva, és azt az utat, ami az első buildtől az App Store-adatlapig vezet. Ha tudni szeretnéd, mi akadályozza még a publikálásodat, az [ingyenes diagnózis](https://devoria.fr/hu/diagnostic) néhány kérdés alapján megmondja, és elküldi az Apple-elutasítás elleni ellenőrzőlistámat. A teljes lépések az [alkalmazás közzététele az App Store-ban](https://devoria.fr/hu/expertise/alkalmazas-kozzetetele-app-store) oldalon vannak.

## Gyakori kérdések

### Mit jelent a Missing Compliance a TestFlightban?

A build az exportmegfelelési nyilatkozatodra vár, vagyis a titkosítás használatára vonatkozó válaszodra. Az Apple azok közé a státuszok közé sorolja, amelyek tőled várnak lépést. A build addig nem jut el a tesztelőkhöz, amíg nem válaszolsz.

### Miért nem kattintható a Missing Compliance Manage linkje?

Ellenőrizd a szerepköröd: az Apple a választ az Account Holder, Admin és App Manager szerepkörnek tartja fenn. Más okot az Apple nem dokumentál. Ha a build épp most érkezett, töltsd újra az oldalt a feldolgozás végéről szóló e-mail után.

### Az appom csak HTTPS-t használ, igent kell mondanom a titkosításra?

Az Apple szerint a rendszerbe épített titkosítás, például a HTTPS-kapcsolatok URLSession-nel, általában mentes a dokumentációs kötelezettség alól. Ilyenkor az ITSAppUsesNonExemptEncryption kulcs értéke NO, feltéve, hogy egyetlen külső könyvtár sem ad hozzá saját titkosítást.

### Minden buildnél válaszolni kell a titkosítási kérdésekre?

Igen, amíg az Info.plist nem tartalmazza az ITSAppUsesNonExemptEncryption kulcsot. Vele az App Store Connect többé nem teszi fel a kérdéseket. Expóban az app.json-ban állítható be, az `ios.config.usesNonExemptEncryption` kulccsal.

### Hol kell megadni a titkosítást az app.json-ban Expóval?

Az app.json-ban, az `expo.ios.config` alatt, `"usesNonExemptEncryption": false` értékkel, ha az appod nem használ nem mentes titkosítást. Az EAS Build beírja a kulcsot a build Info.plist fájljába. A következő buildtől érvényes, a már felküldöttre nem.

### A Missing Compliance az App Store-beküldést is blokkolja?

Az exportmegfelelési kérdések minden új verziónál felmerülnek, legyen az béta vagy App Store. Egy build, amelynél nem válaszoltál, nem terjeszthető. Az Info.plist-beli kulcs egyszerre rendezi mindkét esetet.

### Kell éves önbesorolási jelentést készítenem?

Az Apple jelzi, hogy mentes titkosítás használata esetén is előírhatnak éves önbesorolási jelentést az amerikai kormány felé, és a hivatalos eljáráshoz irányít. Ha az appod nem mentes titkosítást használ, és a dokumentációt beadtad az Apple-nek, erre a jelentésre nincs szükség.


## A projekted

[Review Kit](https://devoria.fr/hu/kits/app-review): Az App Store review checklistem, a javított Apple-elutasításaim, a Google Play checklist és három Claude Code skill. 17 990 Ft.

[iOS & Android Kit](https://devoria.fr/hu/kits/ios): Készítsd el iPhone- és Android-appodat Claude Code-dal: az appjaim kezdőkódja, az út a store-okig és az összes kit. 35 990 Ft.

[Diagnózis: mi választ el az iPhone-appodtól](https://devoria.fr/hu/diagnostic): 7 kérdés, 60 másodperc: megtudod, mi akadályoz valójában abban, hogy kiadd az iPhone-appodat, megkapod a 4 lépéses utadat és a hozzád illő kitet.
