Ich habe drei API
mit verschiedenen API Keys
und einige andere Einstellungen
Für die Entwicklung oder interne Tests erstellen - Entwicklungsverteilung außerhalb des iOS App Store
Host
- devapi.project-name.com API Key
- Entwicklungsschlüssel FLEX
[ 1 ] - Aktivieren Für Client-Tests build - Unternehmensverteilung außerhalb des iOS App Store
Host
- stgapi.project-name.com API Key
- enterprise_key FLEX
- Aktivieren Für Produktionserstellung - Verteilung im iOS App Store
Host
- api.project-name.com API key
- app_store_key FLEX
- Deaktiviere Ich kann zwei Einstellungen verwalten, indem ich DEBUG
Aber das erste Problem ist die Unternehmensverteilung (für Client-Tests) und iOS App Store Verteilung (Produktion) Build, für Enterprise und App Speichern Sie die Verteilung jedes Mal, wenn Sie den Code ändern müssen
Für die Unternehmensverteilung
%Vor%Für die App Store-Verteilung
%Vor%Ich suche nach etwas soem
%Vor%oder andere?
Zweites Problem
Gibt es eine Möglichkeit, drei Builds mit unterschiedlichen Namen zu erstellen, ohne ein anderes Ziel zu erstellen?
ProductName
- Für App Store ProductName-Dev
- Für die interne Entwicklung build ProductName-Stg
- Für Client Testing (Enterprise) build Ich habe gerade ein Demo-Projekt und einen vollständigen visuellen Leitfaden erstellt, basierend auf der Lösung von iamnichols
Der Unterschied zwischen einem Debug- und einem Releasebuild liegt darin, dass einer davon archiviert und exportiert wird, der andere jedoch lokal über Xcode im Debugger ausgeführt wird. Möglicherweise möchten Sie den Produktions- oder Staging-Build manchmal auch im Debugger ausführen, aber durch das Aussortieren von #ifdef DEBUG
werden Sie wahrscheinlich Probleme bekommen.
Dies ist eine vereinfachte Version von dem, was ich mache:
Erstellen Sie in den Projekteinstellungen (nicht Ziel) die folgenden Konfigurationen (von den Originalen kopiert):
Beachten Sie, dass Sie, wenn Sie Cocoapods verwenden, die Konfigurationen auf none zurücksetzen, den Inhalt des Pods-Ordners in Ihrem Projekt ( Nicht das Pods-Projekt ) löschen und% co_de erneut ausführen müssen %.
Anstatt nur ein MyApp-Schema zu erstellen, erstellen Sie Folgendes (das Original duplizieren):
Verwenden Sie in jedem Schema die entsprechenden Debug_ * - und Release_ * -Konfigurationen, wo es angebracht ist.
Fügen Sie ein zusätzliches Präprozessor-Makro hinzu, um zu ermitteln, für welche Umgebung Sie arbeiten.
Klicken Sie in den Projekt-Build-Einstellungen auf das + und fügen Sie eine benutzerdefinierte Build-Einstellung hinzu und nennen Sie es so etwas wie pod install
. Fügen Sie dann für jede andere Gruppe von Umgebungen jeweils ein anderes Präprozessormakro hinzu. d. h. MYAPP_ENVIRONMENT
, ENV_DEV=1
und ENV_STAGING=1
.
Fügen Sie dann in den c Präprozessor-Makros (wiederum auf Projektebene und nicht auf der Zielebene) diese neue Einstellung von MYAPP_ENVIRONMENT mit ENV_PROD=1
hinzu.
Auf diese Weise können Sie dann wie folgt die Umgebung bestimmen:
%Vor%Es ist wahrscheinlich eine Menge, aber lass mich wissen, wie es dir geht.
Sie können dann auch verschiedene benutzerdefinierte Build-Einstellungen erstellen, um verschiedene Dinge zu tun, wie den Anzeigenamen Ihrer App zu ändern.
Sie können dies tun, indem Sie beispielsweise eine neue Einstellung namens $(MYAPP_ENVIRONMENT)
erstellen, den korrekten Namen für jede Konfiguration festlegen und dann in Ihrem MYAPP_DISPLAY_NAME
den Wert des Anzeigenamens des Pakets auf info.plist
setzen.
Eine einfachere und weniger ausgefeilte Lösung wäre die Verwendung verschiedener Header-Dateien für jede Konfiguration und das Importieren von nur einer von ihnen. Dies ist nicht automatisch, aber es ist ziemlich einfach:
%Vor%Tags und Links objective-c ios project-management