Ich habe iOS-Apps für & gt; 2 Jahre und ist nie auf dieses Problem gestoßen. Ich versuche eine App für die Beta-Distribution zu archivieren. Der Build ist erfolgreich, aber am Ende des Prozesses meldet Xcode "Archiv abgebrochen".
Die Build-Protokolle zeigen keine Warnungen oder Fehler jeglicher Art.
Manchmal kann ich durch das Bereinigen / Bereinigen von Erstellungsverzeichnis / Wischen abgeleiteter Daten das Archiv zum Erfolg bringen, aber es scheint kein Muster dafür zu sein. Ist jemand auf dieses Problem gestoßen? Ich habe in diesem Fall gar nichts zu tun, was eine Fehlermeldung betrifft.
Verfügen Sie über ein benutzerdefiniertes Skript, das die Version mit agvtool ersetzt? Ich fand, dass dies genau dieses Verhalten verursacht. Fast 100% Fehler beim Archivieren und häufiger Fehler beim Erstellen. Durch das Entfernen wurde das Problem für mich behoben.
Erstens: +1 auf ConfusedNoobs Antwort, denn das war das Problem (was mich zu zahlreichen Experimenten und schließlich zu dieser Lösung führte). Wenn meine Antwort dir hilft, +1 ihm auch, weil sein Hinweis riesig war!
>(Siehe auch meine andere Antwort unten, die Agvtool umgeht. Ich habe mich schließlich daran gewöhnt, das in all meinen Projekten zu verwenden.)
Ich habe es ein wenig durcheinander gebracht und das Einzige, was ich gefunden habe und das zuverlässig funktioniert, ist es, agvtool als eine Voraktion in den entsprechenden Schemata zu verwenden, und nicht als Run-Skript in den Build-Phasen.
Run
und Archive
gemacht, aber ich brauche es wahrscheinlich nur im Archiv. Fügen Sie Ihr agvtool-Skript hinzu. Wenn es dich interessiert, ist meins:
%Vor% ( HINWEIS: Pre-Actions laufen natürlich nicht in ${PROJECT_DIR}
, also müssen Sie cd
.)
Schließen & amp; speichern und das war's.
Das Problem ist, dass agvtool die Projektdatei modifiziert (unnötig, da alle Build-Nummern, die uns interessieren, woanders sind), und das Ändern der Projektdatei bewirkt, dass der Build abgebrochen wird.
+1 auch auf die Frage - Cripes, das war hart!
Eine andere Technik besteht darin, agvtool
ganz zu überspringen. Fügen Sie dieses Laufzeitskript am Ende Ihrer Erstellungsphasen (nach dem Kopieren von Bundle-Ressourcen) hinzu.
Run Script
-Phase
Das Skript zum einfachen Kopieren / Einfügen:
%Vor%Stellen Sie sicher, dass Ihr Skript nach den Kopierpaketphasen Ihres Builds ausführt