2016-08-15 28 views
13

obliczu ciekawą rzecz przygotowując aplikację dla iOS 10. Począwszy od Xcode 8 należy podać opis o dowolnym zgody poprosić w aplikacji (https://forums.developer.apple.com/thread/49951)iOS 10 Uprawnienia lokalizacja i opis

Wszystko wydaje się dobrze, ale co jeśli chcesz zlokalizować te opisy?

Jeśli chciałbym umieścić go wewnątrz InfoPlist.strings - aplikacja będzie kontynuować upaść. Ale jeśli chciałbym umieścić go w InfoPlist.strings i Info.plist - aplikacja będzie zawsze opis z Info.plist, więc nie będzie żadnych lokalizacja.

Może ktoś ma rozwiązanie. Dzięki :)

+1

sprawdzone go na urządzenie i symulatora (Xcode 8 beta 5, iOS 10 beta 5) z 'NSCameraUsageDescription' /' NSPhotoLibraryUsageDescription' - działa zgodnie z oczekiwaniami z umieszczaniem napisów tylko wewnątrz 'InfoPlist.strings'. Który opis użycia próbujesz zlokalizować? –

+1

Wydaje się, że problem w cytatach na temat klucza. Wypróbuj 'NSPhotoLibraryUsageDescription =" Wartość ";' –

+0

Problem @RomanErmolov w wideo dotyczył kopiowania klucza ze stackoverflow (był dziwny symbol między kluczowym prefiksem a opisem), więc teraz działa. Sprawdzanie mojego klucza –

Odpowiedz

15

I w obliczu tego samego problemu i udało mi się go rozwiązać, bo zauważył, że InfoPlist.strings nie był członkiem żadnej tarczy.

Naprawiono ustawienie Target Membership w pliku (co wstawia go do fazy budowy Copy Bundle Resources).


I dla nikogo googlowania tutaj: https://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/AboutInformationPropertyListFiles.html

Przewiń w dół do "Lokalizowanie Lista Property Values"

+0

dziękuję za to Martinowi - więc po ustawieniu 'Target Membership', to rzeczywiście pozwala na lokalizację całego pliku plist ?? Pozdrawiam ... – Fattie

+0

Tak, możesz wstawić dowolny "" klucz "=" ciąg ";' do 'InfoPlist.strings' w odpowiednim języku i będzie on używany zamiast wartości podanej w' Info.plist'. Sugeruję, aby umieścić wartość domyślną w 'Info.plist', mimo że z mojego eksperymentu nie było potrzeby umieszczania klucza w pliku plist. Również nazwa 'InfoPlist.strings' jest kluczowa, ponieważ wskazuje na komentarze w tej odpowiedzi: http://stackoverflow.com/questions/25736700/how-to-localise-a-string-inside-the-ios-info-plist -plik. –

+1

Ten sam problem, ale moje pliki Info.strings zostały już dodane do celu. Mimo to tekst w pliku Info.plist został wyprowadzony. –

2

Miałem podobny problem, było to spowodowane użyciem niewłaściwego nazwę pliku:

InfoPList.strings 

zamiast z

InfoPlist.strings 

Mam nadzieję, że te informacje mogą być przydatne dla kogoś.

+0

Jaka jest różnica między tymi nazwami plików? – moonvader

+0

Różnica jest literówka w 'InfoPlist' – RaffAl

0

Oto kroki umożliwiające zlokalizowanie zmiennych info.plist

i. utworzyć nowy plik o nazwie „InfoPlist.strings” w ramach projektu

ii. kliknij projekt, aby otworzyć ustawienia (jeśli celem jest Twoja aplikacja, wybierz projekt, klikając go w otwartym oknie) dodaj wszystkie niezbędne języki w "localizations"

iii. przejdź do pliku InfoPlist.strings i zaznacz pole wyboru żądanych języków w obszarze lokalizacji. (Naciśnij przycisk "Narzędzia", ​​chyba że lokalizacja nie jest widoczna po kliknięciu pliku .strings, który znajduje się w prawym górnym rogu kodu xxi - z prawej strony)

iv. dodaj niezbędne pary "klucz" = "wartość" dla wszystkich języków lokalizacji w InfoPlist.strings. Jeśli masz trudności ze znalezieniem klucze należące do Info.plist wiersze, kliknij prawym przyciskiem myszy na swojej Info.plist i wybierz Otwórz As -> kod źródłowy, wszystkie parametry wiersza są oznaczone jako klucze w kodzie źródłowym

Powiązane problemy