White labeling eine iOS-app
Habe ich ein Projekt, von dem ich möchte, white-label. Im Grunde nur icons, Start Bilder und info.plist geändert werden. Das problem ist, dass Projekt ist zu groß und ich möchte wirklich nicht, um zusätzliche Ziele und Mittel.
Die Lösung, die ich sehe, ist das erstellen eines separaten Projekts und hinzufügen der ersten als eine Abhängigkeit Projekt. Das white labeling Projekt hätte keinen code, sondern ein Bündel von Zielen mit verschiedenen Bildern und info.plists für Sie. In diesem Fall jedes mal möchte ich white-label-app, ich würde einfach erstellen ein weiteres Ziel, mit seinen eigenen Bildern. Und wenn ich das machen will, eine andere Version konnte ich problemlos bauen alle diese Ziele und bekommen eine Menge von Variationen für die gleiche app. Klingt einfach.
Ist das problem in der Umsetzung. Ich verknüpfte das Projekt als Abhängigkeit habe ich also das gleiche Ziel. Aber jedes mal Baue ich die app es erstellt eine ausführbare Datei mit dem ursprünglichen Namen, obwohl es anders in der info.plist. Wahrscheinlich ist dies, weil die ursprüngliche Zielgruppe hat Ihre eigenen info.plist. Eine andere Sache ist, wie ersetzen Sie die Ressourcen aus dem ursprünglichen Ziel mit einem anderen ersetzt.
Jede Hilfe zu schätzen wissen
- Meiner Meinung nach Ziele ist der beste Weg, das zu erreichen, was Sie möchten, sollten Sie überdenken diese Lösung.
- ja, je mehr ich darüber nachdenke, desto mehr verstehe ich, dass wäre die einfachste Lösung
Du musst angemeldet sein, um einen Kommentar abzugeben.
Habe ich dies in meinem job und wie ich es gemacht habe ist, ich habe ein python-Skript, das ich geschrieben habe, der geht und manipuliert die Info.plist mit einer Liste von Ersatz-Werte, die ich speichern in eine alternative plist-Datei. Wir haben auch einen build-Schritt-Skript, das geht hin und spritzt irgendwelche Ressourcen, die wir brauchen für das jeweilige build.
Können Sie manipulieren das bundle alles, was Sie wollen, aber Sie müssen es tun, nur bevor Xcode Zeichen der app. In einigen Fällen möchten Sie vielleicht zu gehen und Bearbeiten Sie die Informationen.plist im bundle, das ist in Ordnung, nur tun Sie es vor der Unterzeichnung Schritt.
Ich derzeit verwalten whitelabeled iOS-app. Wir fügen Sie Ziele für die einzelnen white-label-client, um die wichtigsten Projekt, und haben die meisten Teile unserer app konfigurierbar über eine
Theme.plist
Datei.So, jedes Ziel enthält alle Klassen für die app, aber hat benutzerdefinierte
Info.plist
, icons, Start-Bildschirme, font-Dateien, undTheme.plist
.Wir vermeiden den Ansatz, dass @dtrotzjr oben erwähnt, da gab es ein paar Dinge außerhalb der
Info.plist
- Datei, die wir ändern musste pro Ziel... das Provisioning-Profil ist ein gutes Beispiel, wie auch als Präprozessor-Makros zu behandeln, die gelegentlich#ifdef
für pro-client-hacks.Er machte es auch einfacher für neue Entwickler zu verstehen, den build-Prozess.
Apple lehnt jetzt alle white-label-apps finden Sie in diesem : https://blog.summitsync.com/did-apple-just-crush-white-label-apps-4aee14d00b78
Wir verwenden die Bash-Skripts. Kopieren und ersetzen app-icons, splash-screens, FAQ, analytics config-Dateien etc. Dann pass in eine config JSON-Datei die Marke Farben und boolean-Werte für verschiedene Funktionen. Es wird ein bisschen kompliziert, wenn Sie beginnen mit sed hinzufügen und entfernen von tablet-Unterstützung. Es dauert Sekunden, um zu laufen. Es hilft auch, die Verwendung von PDF-Dateien werden als Vermögenswerte, wenn der Vermögenswert, wenn nur eine Farbe, dann können Sie tintColor für die Marke Farbe.
Die gute Sache über die Verwendung der Bash ist, dass wird es auf alle CI-Systeme.
p.s. Apple immer noch akzeptiert white-label-apps. Solange der Kunde mit Unterzeichnung der xcarchive-Datei, die Sie senden, die Sie als Ihre eigenen, dann Sie sollten in Ordnung sein.