2013-04-08 4 views
19

Ich versuche, den Schlüssel NSPhotoLibraryUsageDescription zu definieren, der in der Datei info.plist der Anwendung (reference here) definiert ist.
Mit diesem Schlüssel können Sie benutzerdefinierte Nachrichten bereitstellen, wenn die App zum ersten Mal nach Zugriff auf Ihre Kamera fragt. Ich verwende ALAssentsLibrary, um Assets-Gruppen aufzuzählen (was die Popup-Meldung für die Zugriffsanforderung auslöst).So lokalisieren Sie NSPhotoLibraryUsageDescription-Schlüssel (ALAsets)

Bis jetzt beantwortet mein googling nicht, wie ich das erreichen konnte.

Ich möchte vermeiden, die gesamte info.plist-Datei zu lokalisieren, da sie viel mehr nicht-locale-abhängigen Inhalt enthält.

Wer hat das schon gelöst oder hat Hinweise, wie es weitergehen soll?

+1

"Bis jetzt beantwortet mein Googeln nicht, wie ich das erreichen könnte." Und jetzt hat mich mein Googling hierher gebracht, danke, dass du das fragst! –

Antwort

40

Es gibt eine Datei, die Sie erstellen können (die beim Erstellen eines Projekts für Sie erstellt werden kann), InfoPlist.strings. Diese Datei wird ähnlich wie die Datei Localizable.strings verwendet und lokalisiert.

Darin würden Sie haben und Eintrag so etwas wie:

NSPhotoLibraryUsageDescription = "Test of new Photos warnings"; 

Hinweis, dass es keine Anführungszeichen um den Schlüssel

denke ich, solange der Schlüssel in info.plist enthalten ist, wird es lokalisiert Verwenden Sie den Wert in InfoPlist.string, wenn es für die Sprache verfügbar ist. Andernfalls wird das verwendet, was in info.plist definiert ist.

+0

Danke Joe! :) Perfekt funktioniert. Sobald ich das Schlüsselwort "InfoPlist" bekommen habe, habe ich [this] (http://developer.apple.com/library/ios/#documentation/general/Reference/InfoPlistKeyReference/Articles/AboutInformationPropertyListFiles.html) in Apple-Dokumenten gefunden. Hoffe, dass dies auch für andere Menschen hilfreich sein könnte! Regs. – kr45ko

+1

FWIW hat es für mich nicht funktioniert, bis ich NSPhotoLibraryUsageDescription auch in doppelte Anführungszeichen eingeschlossen habe. – capikaw

+0

Wenn lokalisiert, was sollte der Wert des Schlüssels in der plist-Datei enthalten? –

2

Ich habe meine Notiz hier https://github.com/onmyway133/notes/issues/290, oder Sie werden

Fehlende Info.plist Schlüssel bekommen - Diese App versucht die Privatsphäre sensible Daten ohne Nutzung Beschreibung zuzugreifen. Die Info.plist der App muss einen NSPhotoLibraryUsageDescription-Schlüssel mit einem Zeichenfolgenwert enthalten, der dem Benutzer erklärt, wie die App diese Daten verwendet. Sobald diese Probleme behoben wurden, können Sie die korrigierte Binärdatei erneut bereitstellen.

Stellen Sie sicher,

  • Sie erklären die Schlüssel in Info.plist
  • Sie lokalisieren es in InfoPlist.strings
  • Sie haben keine doppelte Anführungszeichen benötigen, wie "NSPhotoLibraryUsageDescription" = "Test of new Photos warnings";, können Sie einfach nutzen NSPhotoLibraryUsageDescription = "Test of new Photos warnings";