0

Wir haben eine iOS App, die Millionen von Benutzern in den USA hat und internationalisiert werden muss und in 11 verschiedenen Ländern (viele mit einer anderen Sprache) zur Verfügung gestellt werden muss. Habe alle technischen Details ausgearbeitet, um die versteckten Funktionen, die für ein bestimmtes Land gelten, und auch die verschiedenen Währungen usw. auszuarbeiten. Wir haben auch eine Möglichkeit implementiert, wie die App den Standort ermitteln kann (wenn sie eingeschaltet ist, andernfalls Benutzer anfordern) und basierend darauf, sich für das Land/die Sprache selbst zu konfigurieren.Internationale iOS App - gemeinsame Codebasis mit verschiedenen Versionen

Wir möchten dies von einer Codebasis aus tun. Angenommen, dies ist derzeit bei Version 1 zu sagen. Nehmen wir an, wir beginnen damit, fünf Länder hinzuzufügen - d. H. USA, plus Korea, Japan, Frankreich, Kanada und Mexiko. Angenommen, das ist jetzt Version 2.

Wir werden diese dann (eine einzelne App mit einer Paket-ID) im App Store bereitstellen und die Verfügbarkeit für diese Version (2) in USA, Korea, Japan, Frankreich, Kanada und Mexiko festlegen App-Stores.

Angenommen, wir fügen im nächsten Monat ein neues Feature hinzu und das wird Version 3. Wir testen das gründlich für die USA, aber unser QA-Team hat keine Zeit, dies für die anderen 5 Länder zu testen. Also wollen wir diese V3 nur für die USA veröffentlichen und die Verfügbarkeit für die neue Version nur für die USA festlegen.

Von dem, was ich verstehe, mit der Art, wie App Store-Einstellungen funktionieren, da wir die gleiche Bundle-ID haben, können wir die neue V3 nicht auf die USA allein beschränken. Es wird automatisch in den App Stores in Korea, Japan, Frankreich, Kanada und Mexiko veröffentlicht.

Gibt es einen Weg um dies?

(der andere Ansatz, den ich weiß, ist die gleiche Codebasis zu verwenden, sondern für jedes Land, getrennte Ziele mit separaten Bündeln ids bauen und ich würde lieber alles von einem Ziel habe basierend)

Antwort

1

iTunes nicht unterstützt ermöglichen neue Version Verfügbarkeit nur für eine bestimmte Region und während die alte Version in den Rest der Regionen verfügbar sein. Und das tun sie auch aus einem guten Grund.

Angenommen, Sie unterstützen Englisch und Japanisch. Was Sie sagen, ist, da Sie nur die englischen Lokalisierungen der neuen Version testen konnten, entscheiden Sie, es in allen Regionen außer Japan einzuführen.

Aber was ist, wenn ein Benutzer, der in den USA mit Englisch als die Gerätesprache arbeitet, für ein paar Tage nach Hause nach Japan für einen Urlaub geht. Sein Sohn, der das Telefon dieses Jungen benutzt, um etwas Spiel zu spielen, ändert die Gerätesprache auf Japanisch. Wird der Endbenutzer nach dem Ausführen Ihrer App einer nicht getesteten Version Ihrer App ausgeliefert? Auch wenn Sie nicht gemäß den Einstellungen des Betriebssystems lokalisieren und eine separate Option im Einstellungsfenster Ihrer App haben, kann der Benutzer immer zu einer möglicherweise nicht getesteten Version wechseln, was zu einer schlechten Benutzererfahrung führt.

Also die einzigen Optionen, die ich denke Sie haben, sind entweder: - 1. Testen Sie Ihre App für alle Sprachen vor der Veröffentlichung. 2. Wenn die Funktionen in der App je nach Region stark variieren, gruppieren Sie ähnliche Regionen und erstellen Sie 3-4 verschiedene Apps (XYZApp-US, XYZApp-Europe usw.). Diese Option ist nur dann sinnvoll, wenn Ihre Funktionen in den verschiedenen Regionen stark variieren (viele Funktionen müssen je nach Sprache ausgeblendet/geändert werden). Dieser Ansatz würde nicht nur helfen, Ihre Veröffentlichungen gemäß der QA-Abdeckung zu terminieren, sondern auch dabei helfen, Code zu trennen, da nur die relevante App über den entsprechenden Funktionscode verfügt.

Option 1 sieht jedoch einfacher aus.