2016-09-19 16 views
28

Po aktualizacji do iOS 10, gdy próbuje uzyskać dostęp do kontaktów za pośrednictwem wtyczki cordova-plugin-contacts v2.2.0, gdy zakończy działanie aplikacji zApp wywala z __CRASHING_DUE_TO_PRIVACY_VIOLATION__ podczas próby kontaktów dostępu

__CRASHING_DUE_TO_PRIVACY_VIOLATION__

nie wiem co inne dodatkowe informacje, które mogę teraz podać, daj mi znać, jeśli mogę być bardziej konkretny. Thanx.

Może to jest jakiś pożytek: https://stackoverflow.com/a/39416858/592641, ale nie mogłem znaleźć poradnika jak określić te opisy użycia w cordova.

+0

Czy utworzyć projekt xcode? Znajdź 'Info.Plik Plist' za pomocą 'Navigatora' (lewy panel xcode), dodaj wpis w pliku plist znaleziony w linku do twojego pytania. Po zakończeniu zainstaluj nową kopię. – NeverHopeless

+0

Co to jest dokładne kombinacje klawiszy/ciągów, które muszę użyć w kontaktach? Kombinacja w linku dotyczy kamery. – Birowsky

Odpowiedz

5

W skrócie, opisy użytkowania muszą być określone wewnątrz *info.plist

to nie jest dobre dla Cordova kodzie ponieważ pliki .plist nie są częścią repozytorium. Najprostszym sposobem znalazłem się umieścić je wewnątrz config.xml jest taka:

  1. Install cordova-custom-config
  2. Dodaj następujący wewnątrz config.xml:

.

<platform name="ios"> 
    <config-file parent="NSContactsUsageDescription" target="*info.plist"> 
     <string>Easily invite your friends</string> 
    </config-file> 
</platform> 
32

Po utworzeniu projektu xcode i znalezieniu pliku Info.Plist można spróbować dodać klucz NSContactsUsageDescription, który powinien przyjąć wartość ciągu.

A complete list of Cocoa Keys

nadzieję, że pomoże!

EDIT

Część z doc (która może pomóc zrozumieć, dlaczego jest on upaść)

Ważne: Aby chronić prywatność użytkownika, aplikacja iOS połączone na iOS lub po 10.0 i który uzyskuje dostęp do kontaktów użytkownika, musi statycznie zadeklarować zamiar tego. Dołącz klucz NSContactsUsageDescription do pliku Info.plist aplikacji i podaj ciąg celu dla tego klucza. Jeśli Twoja aplikacja próbuje uzyskać dostęp do kontaktów użytkownika bez odpowiedniego ciągu znaków, Twoja aplikacja zostanie zamknięta.

+0

To pomogło, tak, pozostało mi tylko dowiedzieć się, jak manipulować plikiem plist z konfiguracji Cordova. – Birowsky

+0

Po dodaniu wpisu w "Info.Plist" system powinien odczytywać ten wpis z samego plist podczas wykonywania, nie musisz (nie) ładować tego plist pliku. Kiedy z kodu inicjowane jest żądanie do takich usług opartych na uprawnieniach, szuka opisu użycia w pliku " Info.plist". – NeverHopeless

+0

Oczywiście, ale problem polega na tym, że wszystkie te specyficzne dla platformy pliki są generowane z konfiguracji Cordova. W związku z tym nie są częścią VCS. Muszę więc wyraźnie określić te zmiany w konfiguracji Cordova, aby mogły być generowane wszędzie. – Birowsky

2

Dla mnie, starałem się uzyskać dostęp do mikrofonu, ale nie zdefiniowany ciąg Privacy - Microphone Usage Description.

Przejdź do pliku Info.plist i przewiń w dół do wartości rozpoczynających się od Privacy. Upewnij się, że dodajesz klucze i wartości ciągów do wszystkiego, co dotyczy Twojej aplikacji.

Screenshot of the values that start with Privacy in the info.plist

+0

Czy próbowałeś dodać "NSMicrophoneUsageDescription" jako klucz opisu użycia mikrofonu w twoim pliście? Możesz znaleźć to w linku dodanym w mojej odpowiedzi. – NeverHopeless

0

mam tutaj z tego samego błędu przy użyciu Kudan AR poprzez Jedności i @ odpowiedź NeverHelpless miał na celu, oprócz poprawka była NSCameraUsageDescription (Dodaj do Info.plist sznurkiem opis)

Powiązane problemy