So weisen Sie standortspezifische BundleDisplayNames für verschiedene Ziele zu

8

Ich habe 2 Apps: Kostenlos & amp; Voll Ich habe 2 Sprachen: Englisch & amp; Deutsch

Dies führt zu 4 verschiedenen App-Namen

Wie kann ich das erreichen?

Tatsächlich haben alle meine Ziele den Namen "Free", sogar die Vollversion.

Ich weiß: Ich habe 1 InfoPlist.strings Datei, die mit Localization multipliziert wird und ich kann sie Zielen zuweisen. Also für 1 App kann ich den BundleDisplayName lokalisieren.

Aber wie kann ich die spezifischen Namen für die zweite App zuweisen?

    
mcfly soft 02.11.2015, 14:14
quelle

2 Antworten

2

PlistBuddy ist hier dein Freund. Was Sie tun müssen, ist Ihr plist in einer Bauzeit zu aktualisieren.

  1. Sie müssen ein benutzerdefiniertes Schema für jedes Ziel erstellen, das Sie haben (ich nehme an, dass Sie das bereits haben)
  2. Gehen Sie in Ihrem xcode zum Schema und fügen Sie eine ähnliche Postaktion zum benutzerdefinierten Schema hinzu:

Hier ist der Code:

%Vor%

Wichtig bei diesem Ansatz ist, dass Sie nichts in Ihrer PLIST-Datei ändern, aber mit Post-Aktionen ändern Sie bereits das für das Gerät vorbereitete Paket, sodass Sie Ihr Code-Repository schön und sauber halten.

    
Kuba 12.11.2015 14:42
quelle
1

Verknüpfen Sie InfoPlist.strings mit Zielen

Aus den technischen Anmerkungen zu Apple Developer :

  

Wenn Ihre App die Lokalisierung unterstützt, müssen Sie CFBundleDisplayName lokalisieren, indem Sie sie allen Ihren sprachspezifischen InfoPlist.strings-Dateien hinzufügen. Achten Sie außerdem darauf, einen Namen zu verwenden, der den App Review Guidelines für Ihre App entspricht.

Voraussetzungen

  • Ich gehe davon aus, dass Sie bereits mehrere Ziele haben.

  • Ich gehe auch davon aus, dass Sie bereits eine InfoPlist.strings -Datei haben. Wenn nicht, Code & gt; Datei & gt; Datei ... & gt; Ressource & gt; Zeichenketten-Datei & gt; Nächstes & gt; Speichern unter: InfoPlist & gt; Base.lproj & gt; Ziel: das englische Ziel & gt; Erstellen Sie

  • Stellen Sie sicher, dass Sie dies in Ihrem Info.plist :

    aktiviert haben %Vor%

Schritt für Schritt

  1. Wählen Sie in Projektnavigator InfoPlist.strings .
  2. In Dateiinspektor & gt; Lokalisierung, wählen Sie alle Sprachen aus. Dies erstellt und / oder kopiert die InfoPlist.strings in ihre jeweiligen Standorte.
  3. Möchten Sie Sprachen hinzufügen, erreichen Sie dies in Project Navigator & gt; Projekt & gt; Projekt & amp; Zielliste & gt; Projekt & gt; Info & gt; Lokalisierungen & gt; + Behalten Sie weiterhin Basis-Internationalisierung verwenden .
  4. Leider, wenn Sie Schritt 2 ausführen, macht Xcode die ganze Magie für Sie. Es ist erwähnenswert, dass in Versionen von Xcode, in denen diese Magie nicht vorkam, die Assoziationen von Hand gemacht werden mussten. In Schritt 5 geht es darum, die Magie wieder herzustellen.
  5. Entfernen Sie InfoPlist.strings aus dem Project Navigator . Natürlich nur Referenzen entfernen , wenn Sie dazu aufgefordert werden.
  6. Suchen Sie im Finder en.lproj , ziehen Sie ihn auf Ihren Projektnavigator , wählen Sie Gruppen erstellen , fügen Sie Ziel Ihr Englisch oder Basisziel , Fertigstellen
  7. Wiederholen Sie Schritt 6 mit de.lproj , fr.lproj , jedes Mal, wenn Sie die gesamte .lproj aus dem Finder ziehen und mit dem entsprechenden Ziel verknüpfen.
  8. Einige .lproj enthalten möglicherweise andere lokalisierte Dateien, für die Sie die Magie von Schritt 3 genießen möchten. Entfernen Sie einfach ihre Referenzen.
  9. Sie sind fertig.

Das endgültige Setup, beispielsweise für die deutsche Sprache, wird im Datei-Inspektor wie folgt aussehen:

Referenzen:

Teilen Sie die Lokalisierung über Ziele hinweg:

Dies ist die allgemeine Methode zur Lokalisierung. Siehe Ссылка .

Spezifische Lokalisierung für bestimmte Ziele:

Dies ist nur nützlich, wenn Sie explizit steuern möchten, welche Sprachen zu welchem ​​Ziel gehören. Siehe Ссылка .

    
SwiftArchitect 19.11.2015 01:40
quelle

Tags und Links