Ich untersuche den besten Ansatz zur Automatisierung unseres Build-Prozesses. Ich habe meine eigenen Ideen (durch Erfahrung in einem früheren Nicht-iOS-Projekt), brauche aber gute Argumente für und gegen verschiedene Möglichkeiten.
Ziel: Ein einzelnes xcode-Projekt mit einem einzigen Ziel (think white-label) muss in 1..N verschiedenen Geschmacksrichtungen (konkrete Brandings) mit minimaler Benutzerinteraktion und minimalem technischen Wissen aufgebaut werden. Für AdHoc und / oder AppStore.
Das bedeutet im Wesentlichen, pro Build zu spezifizieren; ein Ordner mit Icons + Splashscreen, einem Paket mit markenspezifischen Ressourcen und (vermutlich?) der Info.plist, unter Angabe von Appname, Bundle-ID, etc.
Fragen, die beachtet oder geklärt werden müssen;
Mein persönliches Gefühl: Hudson oder CruiseControl + Xcode plugin.
Es scheint eine Menge Dokumentation für eine Xcode-Lösung zu geben, und ich habe diese in einem Flex-Projekt gesehen, an dem ich gearbeitet habe, mit fast genau den gleichen White-Label / Branding-Anforderungen. Natürlich wurde das Ant-Skript verwendet und es wurde KEINE Verhaltenskonfiguration beachtet. Das ist meine einzige Unsicherheit hier ... Ich vermute, dass es irgendwo hart codiert werden müsste, aber das ist nicht die Antwort, die einigen Leuten gefallen wird. Es besteht der Wunsch, die verschiedenen App-Konfigurationseinstellungen (Server-URL, Funktion Foo unterstützt, ist die Ansicht X angezeigt usw. usw.) über ein GUI-Formular beim manuellen Aufbau angeben zu können. Ich bin mir nicht sicher, wie einfach es wäre, das in eine typische Hudson- oder CC-Konfiguration zu verwandeln.
Und deshalb wurde ein Vorschlag gemacht, eine OSX-App zum Aufbau unserer Kunden zu schreiben. Die Theorie ist, nette saubere nicht-Tech-UI für die Eingabe aller notwendigen Metadaten & amp; App-Einstellung und eine große glänzende grüne Taste mit der Aufschrift "Build". Aber ich persönlich bin skeptisch, dass dieser Ansatz flexibler oder einfacher zu implementieren ist als eine klassische CI-Lösung.
Also die Frage ist im Grunde, was vorzuziehen ist; ein klassischer serverbasierter, integrierter Versionskontrollansatz oder ein benutzerdefiniertes OSX-Dienstprogramm?
Was auch immer wir wollen, es wird mit ziemlicher Sicherheit eine Bedingung sein, um es in 2 oder 3 Tagen (definitiv weniger als eine Woche) in Betrieb zu nehmen.
IMHO können Sie alle Probleme mit verschiedenen Zielen von XCode lösen.
Jedes Ziel teilt den Code, aber es könnte:
Ich hoffe, das hilft
Eine extrem spätere Antwort, aber der Ansatz, den ich wählen würde, wäre, das White Label IPA zu erstellen und dann ein Skript zu erstellen, um: 1. Entpacken Sie es (ändern Sie die .ipa-Dateierweiterung in .zip). 2. Ändern Sie die Assets. Aktualisieren Sie die Datei info.plist (mit dem Befehl Plistbuddy) Zip es noch einmal. Gib den Code zurück.
Sehen Sie sich dieses Skript als Ausgangspunkt an: Ссылка
Tags und Links xcode continuous-integration automated-deploy