Korzystanie z iOS 10.0
ostatniej wersji beta. Próbowałem użyć aparatu do skanowania kodu kreskowego w mojej aplikacji i zawiesił się z tym błędem w czasie wykonywania.
Ta aplikacja uległa awarii, ponieważ próbowała uzyskać dostęp do danych wrażliwych na prywatność bez opisu użytkowania. Aplikacja Info.plist musi zawierać klucz NSCameraUsageDescription z wartością ciągu wyjaśniającą użytkownikowi, w jaki sposób aplikacja wykorzystuje te dane.
Umieścić ten klucz w pliku plist, ale nadal się zawiesił?
Odpowiedzi:
Po iOS 10 musisz zdefiniować i podać opis użytkowania wszystkich poufnych danych systemu, do których Twoja aplikacja ma dostęp w Info.plist, jak poniżej:
Kalendarz
Przypomnienie:
Kontakt :
Zdjęcie:
Udostępnianie Bluetooth:
Mikrofon:
Aparat fotograficzny :
Lokalizacja :
Zdrowie:
HomeKit:
Biblioteka mediów:
Ruch:
Rozpoznawanie mowy :
SiriKit:
Dostawca telewizji:
Możesz uzyskać szczegółowe informacje w tym linku.
źródło
Privacy - Photo Library Usage Description
zrobił to za błądNSPhotoLibraryUsageDescription
Ponieważ firma Apple zmieniła sposób uzyskiwania dostępu do prywatnych typów danych użytkownika w
iOS 10
.Musisz dodać
Privacy - Camera usage description
klucz " " do swojej aplikacjiInfo.plist
i informacji o ich użyciu, które dotyczą twojej aplikacji, tak jak w poniższym przykładzie, który podałem, że skanowałem kody kreskowe.Więcej informacji znajdziesz na poniższym zrzucie ekranu.
źródło
Musisz dodać ten klucz poniżej w info.plist.
NSCameraUsageDescription
LubPrivacy - Camera usage description
Dodaj opis użycia.
Szczegółowe zrzuty ekranu są dostępne pod tym linkiem
źródło
Alternatywnie otwórz Info.plist jako kod źródłowy i dodaj to:
źródło
"NSCameraUsageDescription" = "Requires access to the camera";
swój zlokalizowany plik infoPlist.stringsUżyj tych surowych wartości i skopiuj je w info.plist
źródło
Interfejs użytkownika xcode zmienił się nieco z jednej wersji na drugą, więc tutaj aktualizujesz plist do wersji 9.0 beta 4, jeśli pomaga to Projekt -> Cel -> Informacje
źródło
<key>NSCameraUsageDescription</key>
do info.plist .<key>NSCameraUsageDescription</key>
do drugiego pliku info.plist , ale bez skutku i mogę potwierdzić, że XCode (10.1) zdecydowanie nie bierze tych zmian pod uwagę, uruchamiając status git , ponieważ mój info.plist dla innego celu nie zmienił się. Zatem właściwą drogą jest przejście przez Projekt-> Cel-> Informacje . Dzięki!Innym przypadkiem, z którym się spotkałem podczas próby użycia aparatu, było to, że nadal był zajęty, dając to samo,
_CRASHING_DUE_TO_PRIVACY
nawet po dodaniu „Opisu użycia aparatu”. Po nieudanym uzyskaniu czegokolwiek namacalnego ze stosu wywołań, przełączyłem się do „Organizatora” i przejrzałem raporty o awariach na urządzeniu. Okazało się, że w rzeczywistości narzekałem na prywatność z powodu braku „Opisu użycia mikrofonu”. Dodałem to i pozbyłem się takiej tajemniczej awarii.źródło
Dla tych, którzy nadal otrzymują błąd, mimo dodania odpowiednich kluczy do Info.plist:
Upewnij się, że dodajesz klucz do prawidłowego Info.plist. Nowsza wersja xCode, podobno ma 3 Info.plist.
Jeden znajduje się w folderze z nazwą Twojej aplikacji, co rozwiązało problem.
Drugi znajduje się pod YourappnameTests, a trzeci w YourappnameUITests.
Mam nadzieję, że to pomoże.
źródło
Jeśli używasz Ionic, możesz rozwiązać ten problem bezpośrednio z config.xml , dodając tag wewnątrz platformy ios:
Chciałbym również podziękować @BHUPI answer.
źródło
Robisz to, dodając klucz użytkowania do Info.plist aplikacji wraz z ciągiem znaków celu. NSCameraUsageDescription Określa powód, dla którego aplikacja ma uzyskać dostęp do aparatu urządzenia
https://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/CocoaKeys.html
źródło
Sprawdziłem plist i stwierdziłem, że nie działa, tylko w info o "projekcie" trzeba dodać "Prywatność - Kamera ....", wtedy powinno działać. Mam nadzieję, że ci pomogę.
źródło
Miałem ten sam problem i nie mogłem znaleźć rozwiązania. Mark90 ma rację, jest dużo plików info.plist i powinieneś edytować poprawną. Przejdź do projektu, w sekcji CELE wybierz projekt (nie testy), na pasku zakładek wybierz Informacje i dodaj uprawnienia w sekcji „ Niestandardowe właściwości docelowe systemu iOS ”.
źródło