Brak zgodności w stanie, gdy dodam wbudowany do testów wewnętrznych w locie testowym. Jak rozwiązać?

308

Kiedy dodałem moją najnowszą wersję do testów wewnętrznych TestFlight, zauważyłem, że ma ona status „Brak zgodności”.

Czy to poważny problem? Dlaczego to się pojawia? Jak mogę rozwiązać ten problem?

wprowadź opis zdjęcia tutaj

Chandan Jee
źródło

Odpowiedzi:

542

Jeśli Twoja aplikacja nie używa specjalnego szyfrowania, możesz po prostu dodać logiczny klucz do swojej Info.plistnazwy ITSAppUsesNonExemptEncryptioni wartości NO.

Jeśli Twoja aplikacja korzysta z niestandardowego szyfrowania, musisz podać dodatkowe legalne dokumenty i przejrzeć szyfrowanie, zanim będziesz mógł wybrać kompilacje.

Jeśli będziesz kontynuować wybieranie tej wersji do testowania, poprosi ona ręcznie o informacje dotyczące zgodności. Wybranie opcji „Nie” spowoduje wyświetlenie powyższej rekomendacji dla list odtwarzania.

Powiadomienie o zgodności eksportu szyfrowania iTunes Connect do testowania

Ta zmiana została ogłoszona w WWDC w 2015 r., Ale myślę, że została wprowadzona dopiero niedawno. Zobacz to i to, aby zobaczyć transkrypcję sesji WWDC związanej ze zgodnością eksportu, po prostu wyszukiwanie tekstowe wyrażenia „eksport”.

Istnieją inne podobne pytania dotyczące SO, patrz:

mokagio
źródło
3
Co to ma być specjalne szyfrowanie? Czy liczy się użycie pęku kluczy iOS do przechowywania informacji o użytkowniku?
bluenherehere
1
W ramach nowego iTunesConnect: Menu główne> Funkcje> Szyfrowanie
bauerMusic
10
@mokagio Korzystam z połączenia HTTP do pobierania danych dla aplikacji, więc czy muszę wybrać tak i przesłać jakieś dokumenty?
vignesh kumar
126

Nie ma już potrzeby przesyłania nowej kompilacji lub modyfikacji Info.plist; zamiast tego wykonaj następujące kroki, używając konta administratora lub menedżera aplikacji:

  1. Przejdź do karty iOS w lewym górnym rogu TestFlight i kliknij żółty trójkąt obok ostrzeżenia, aby podać te informacje w iTunes Connect:

wprowadź opis zdjęcia tutaj

  1. Kliknij link „Podaj informacje o zgodności eksportu” w wyskakującym okienku:

Eksportuj informacje o zgodności

Chociaż jeśli zdecydujesz się na modyfikację Info.plist, nigdy nie będziesz musiał zajmować się tym oknem wyskakującym.

Kevin Cooper
źródło
5
@am_ Właśnie próbowałem i nadal działa. Wystarczy kliknąć link „Podaj informacje o zgodności eksportu” w wyskakującym okienku. Wpis został edytowany przy użyciu nowego zrzutu ekranu.
Kevin Cooper
1
Po kliknięciu trójkąta nie ma linku „Podaj informacje o zgodności eksportu”, po prostu otrzymuję tekst informacyjny.
SafeFastExpressive
13
Okazało się, że jest to problem z dostępem. Nie jestem administratorem (programista + ktoś inny), a naszym administratorem był ten, który przesłał aplikację. Mój administrator spojrzał na to na swoim koncie i był w stanie zobaczyć / kliknąć link „Podaj informacje o zgodności eksportu”, aby rozwiązać problem.
SafeFastExpressive
4
@RandyHill dzięki za informacje - zaktualizowałem odpowiedź, aby wyjaśnić, że musisz być administratorem.
Kevin Cooper
2
@am_ tylko użytkownicy z rolami administratora mogą zobaczyć link
Alexis.J
46

Dodaj następujące na dole Info.plist

<key>ITSAppUsesNonExemptEncryption</key>
<false/>
Atul Yadav
źródło
42

W swojej Info.plistkliknij prawym przyciskiem myszy w tabeli właściwości kliknij Add Row, dodać nazwę klucza App Uses Non-Exempt Encryptionz typów Booleani wartości zadanej NO.

wprowadź opis zdjęcia tutaj

Himanshu padia
źródło
1
trzeba kliknąć prawym przyciskiem myszy tabelę właściwości i kliknąć „Dodaj wiersz”, aby to zrobić, zajęło mi to kilka minut, aby się dowiedzieć :)
Walty Yeung,
10

Jeśli twoja info.plist jest pokazana jako lista właściwości (a nie xml), tekst, który musisz wprowadzić dla klucza to:
Aplikacja używa szyfrowania niezwiązanego ze zwolnieniem

Shaked Sayag
źródło
5

Jeśli nie używasz protokołu https w połączeniach interfejsu API, dodaj ten klucz „Aplikacja używa szyfrowania nieobjętego zwolnieniem” na liście info.plist i ustaw go na „NIE”

Mahendra Thotakura
źródło
3
Połączenia HTTPS korzystające z URLSession - są zwolnione z wymogów przesyłania dokumentacji eksportowej.
Parag Bafna,
1
Co to jest URLSession? skąd mam wiedzieć, czy go używam? Korzystam z aplikacji React Native z żądaniem pobierania i nie mam pojęcia - próbowałem ją wyszukać.
Dror Bar
@DrorBar Co tu skończyłeś? Używam również React Native (z Expo) i nie jestem pewien, co powinienem tutaj robić. Dzwonię do mojego zaplecza przez HTTPS.
Darryl Young
1
@DarrylYoung Nie znalazłem konkretnej odpowiedzi, ale jestem prawie pewien, że tego rodzaju połączenia HTTPS są zwolnione z wymagań dotyczących szyfrowania. Powinieneś być dobry, dodając klucz.
Dror Bar
@DrorBar Dzięki za odpowiedź. Dbać.
Darryl Young
1

Ponadto, jeśli nie widzisz przycisku „Podaj informacje o zgodności eksportu”, upewnij się, że masz odpowiednią rolę w App Store Connect lub porozmawiaj z odpowiednią osobą (Właścicielem konta, Administratorem lub Menedżerem aplikacji).

Maciek Czarnik
źródło