Mancanza di conformità nello stato quando aggiungo compilato per i test interni in Test Flight. Come risolvere?


308

Quando ho aggiunto la mia ultima build per i test interni TestFlight, ho visto che aveva lo stato "Mancanza di conformità".

Questo è un grosso problema? Perché questo appare? Come posso risolvere questo problema?

inserisci qui la descrizione dell'immagine

Risposte:


544

A meno che la tua app non utilizzi una crittografia speciale, puoi semplicemente aggiungere a Boolean una chiave Info.plistcon nome ITSAppUsesNonExemptEncryptione valore NO.

Se la tua app utilizza la crittografia personalizzata, dovrai fornire ulteriori documenti legali e passare una revisione della crittografia prima di poter selezionare build.

Se si continua a selezionare quella versione per il test, verranno richieste manualmente le informazioni sulla conformità. La scelta di "No" ti offre la raccomandazione di plist sopra.

Avviso di conformità all'esportazione della crittografia di iTunes Connect per i test

Questo cambiamento è stato annunciato nel WWDC 2015, ma suppongo che sia stato applicato solo di recente. Vedi questo e questo per una trascrizione della sessione WWDC relativa alla conformità dell'esportazione, solo per una ricerca testuale di "esportazione".

Ci sono altre domande simili su SO, vedi:


3
Cosa si intende per crittografia speciale? L'utilizzo del portachiavi iOS per memorizzare le informazioni dell'utente conta?
bluenowhere

1
Con il nuovo iTunesConnect: menu principale> Funzionalità> Crittografia
bauerMusic

10
@mokagio Sto utilizzando la connessione Https per utilizzare i dati per l'applicazione, quindi devo scegliere Sì e inviare dei documenti?
Vignesh Kumar,

127

Non è più necessario inviare una nuova build o modificare Info.plist; invece, segui questi passaggi usando un account Admin o App Manager:

  1. Vai alla scheda iOS in alto a sinistra di TestFlight e fai clic sul triangolo giallo accanto all'avviso per fornire queste informazioni in iTunes Connect:

inserisci qui la descrizione dell'immagine

  1. Fai clic sul link "Fornisci informazioni sulla conformità all'esportazione" nel popup:

Esporta informazioni sulla conformità

Tuttavia, se scegli di modificare Info.plist, non dovrai mai più occuparti di questo popup.


5
@am_ L'ho appena provato e funziona ancora. Devi solo fare clic sul link "Fornisci informazioni sulla conformità all'esportazione" nel popup. Post è stato modificato con il nuovo screenshot.
Kevin Cooper,

1
Non c'è nessun link "Fornisci informazioni sulla conformità all'esportazione" quando faccio clic su triangolo, ottengo solo il testo informativo.
SafeFastExpressive,

13
Si è rivelato essere un problema di accesso. Non sono un amministratore (sviluppatore + altri) e il nostro amministratore è stato chi ha inviato l'app. L'amministratore l'ha esaminato nel suo account ed è stato in grado di visualizzare / fare clic sul collegamento "Fornisci informazioni sulla conformità all'esportazione" per risolvere il problema.
SafeFastExpressive il

4
@RandyHill grazie per le informazioni. Ho aggiornato la mia risposta per spiegare che devi essere un amministratore.
Kevin Cooper,

2
@am_ solo gli utenti con ruoli di amministratore possono vedere il link
Alexis.J il

47

Aggiungi il seguito nella parte inferiore del tuo Info.plist

<key>ITSAppUsesNonExemptEncryption</key>
<false/>

43

Nel tuo Info.plist, fare clic destro nella tabella delle proprietà, fare clic su Add Row, aggiungere il nome della chiave App Uses Non-Exempt Encryptioncon Tipo Booleane impostare il valore NO.

inserisci qui la descrizione dell'immagine


1
è necessario fare clic con il tasto destro sulla tabella delle proprietà e fare clic su "Aggiungi riga" per farlo, ci sono voluti alcuni minuti per scoprirlo :)
Walty Yeung

11

Se il tuo info.plist viene visualizzato come un elenco di proprietà (e non xml), il testo che devi inserire per la chiave è: L'
app utilizza la crittografia non esente


6

Se non stai utilizzando https nelle chiamate API, aggiungi questa chiave "App utilizza la crittografia non esente" nel tuo info.plist e impostalo su "NO"


3
Connessioni HTTPS che utilizzano URLSession: sono esenti dai requisiti di caricamento della documentazione di esportazione.
Parag Bafna,

1
Che cos'è una sessione URL? come faccio a sapere se lo uso? Sto usando l'app React Native con richiesta Fetch e non ne ho idea: ho provato a cercarla.
Dror Bar il

@DrorBar Cosa sei finito a fare qui? Sto anche usando React Native (con Expo) e non sono sicuro di cosa dovrei fare qui. Sto chiamando al mio back-end tramite HTTPS.
Darryl Young,

1
@DarrylYoung Non ho trovato una risposta specifica ma sono abbastanza sicuro che questo tipo di chiamate HTTPS siano esenti dai requisiti di crittografia. Dovresti essere bravo ad aggiungere la chiave.
Dror Bar

@DrorBar Grazie per la risposta. Stai attento.
Darryl Young,

1

Inoltre, se non riesci a visualizzare il pulsante "Fornisci informazioni sulla conformità all'esportazione", assicurati di avere il ruolo giusto nel tuo App Store Connetti o parla con la persona giusta (Titolare del conto, Amministratore o Gestione app).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.