Ich habe gerade ein Upgrade auf Xcode 4 durchgeführt und versuche, einen Ad-hoc-Build eines früheren Projekts zu erstellen. Immer wenn ich die Option "Archiv" verwende, wird im Organizer-Fenster entweder überhaupt kein Archiv angezeigt, oder es gibt ein Archiv, aber es gibt keine Option, es als .ipa zu verpacken, da für den Archivtyp kein Packager vorhanden ist ".
Hat jemand Ad-hoc-Builds erhalten, die unter Xcode 4 für Projekte funktionieren, die von Xcode 3.2 migriert wurden?
Antworten:
Möglicherweise befinden sich in Ihrem Hauptprojekt einige verknüpfte Projekte (z. B. Bibliotheken). Gehen Sie zu den Build-Einstellungen dieser Projekte und setzen Sie die Einstellung "Installation überspringen" (Bereitstellungskategorie) auf "Ja", belassen Sie jedoch die "Installation überspringen" des Hauptprojekts auf "Nein". Erstellen, archivieren und Sie sollten in der Lage sein, das ipa-Paket auszuwählen.
quelle
Vielen Dank, aber ich brauchte 3 Schritte, um das Problem mit meinem Projekt-Framework vollständig zu lösen:
Setzen Sie die Eigenschaft Target Build Settings / "Skip Installation" für jedes Abhängigkeitsprojekt auf "YES"
Deaktivieren Sie für jedes Projekt die Eigenschaft "Installationsverzeichnis" der Zielerstellungseinstellungen
Verschieben Sie für jedes Projekt alle Header aus dem Abschnitt "Phasen erstellen / Einstellungen erstellen / Header kopieren" Öffentlich / Privat in das Projekt
quelle
Ich fand heraus, dass eine Kombination dieser Antworten das Problem löste. Ich habe viel Zeit damit verbracht zu überprüfen, ob Skip Install für alle verknüpften Projekte auf Ja gesetzt war, und es stellte sich heraus, dass dies nur ein Teil des Problems für mich war. Wenn dieses Problem mit Archive auftritt, gehen Sie wie folgt vor:
Wenn Sie in Schritt 3 eine statische Bibliothek (<Einige-Bibliothek> .a) entweder direkt unter Produkte oder in einem Unterordner finden, gehen Sie zu Xcode und wählen Sie das Projekt aus, das die statische Bibliothek erstellt hat (Sie sollten in der Lage sein, festzustellen, welches Projekt es basiert auf dem Namen der statischen Bibliothek). Gehen Sie zu den Build-Einstellungen und wählen Sie das Ziel aus. Setzen Sie dann "Installation überspringen" auf "Ja".
Wenn Sie in Schritt 3 Header-Dateien (<Einiger-Header> .h) entweder direkt unter Produkte oder in einem Unterordner finden, gehen Sie zu Xcode und wählen Sie das Projekt aus, das diese Header enthält. Sie sollten in der Lage sein, das Projekt anhand des Präfixes zu finden, das in den Header-Dateinamen verwendet wird. Wechseln Sie in diesem Projekt zu den Erstellungsphasen, und verschieben Sie im Abschnitt Kopfzeilen kopieren alle Kopfzeilen aus den Abschnitten Öffentlich und Privat in den Abschnitt Projekt.
Vielen Dank an diese Antwort und diese Antwort und diese Antwort, die mir geholfen haben, dieses Problem zu lösen.
quelle
Hier sind zwei weitere Tipps, die wir bei diesem Problem als nützlich empfunden haben ... keine Antworten, aber sie sparen möglicherweise jemand anderem viel Zeit beim Herumspielen um 8 /.
Wenn Sie statische Bibliotheken verwenden, die NICHT von xcode4 erstellt werden, funktioniert die Problemumgehung "Bereitstellung-> Installation überspringen" für sie nicht. Die Problemumgehung besteht darin, sie NICHT zum Projekt hinzuzufügen und sicherzustellen, dass sich ihre Pfade in den Header- und / oder Bibliothekssuchpfaden in Ihren Build-Einstellungen befinden und die -lblah-Einträge zu den Linker-Flags hinzugefügt werden.
Wenn Sie eine statische Bibliothek als Zielabhängigkeit festgelegt haben (z. B. hatten wir libjson.a wie folgt festgelegt und ich bin mir ziemlich sicher, dass dies die richtige / logische Vorgehensweise ist), können Sie einfach keine .ipa-Bibliothek erstellen egal was. Wir haben mehr als einen ganzen Tag damit verbracht, mit diesem dummen Problem herumzutanzen, und am Ende hat es das Problem gelöst, indem wir es einfach entfernt haben. Persönlich denke ich, dass dies wirklich ein kaputtes Projekt hinterlassen sollte ... aber es funktioniert so meh.
quelle
Um herauszufinden, welches Projekt / welche Bibliothek / welche Komponente Xcode daran hindert, ein ordnungsgemäßes Archiv zu erstellen, gehen Sie folgendermaßen vor:
Suchen Sie das Archiv im Organizer, klicken Sie mit der rechten Maustaste und zeigen Sie es im Finder an. Dies zeigt eine .xcarchive-Datei. Klicken Sie mit der rechten Maustaste und zeigen Sie den Paketinhalt an. Schauen Sie nun in den Ordner Produkte. Höchstwahrscheinlich gibt es mehr als nur einen Anwendungsordner mit einer iPhone-Anwendung.
In meinem Fall gab es eine Ordnerstruktur usr / local / lib, die libOAuthConsumer_iPhone.a enthielt, und als ich in Xcode danach suchte, fand ich tatsächlich ein anderes Projekt, bei dem ich Skip Install nicht auf YES gesetzt habe. Es ist vielleicht nicht für alle so einfach, aber wenn Sie in das Paket schauen, sollten Sie zumindest einen Hinweis darauf erhalten, welche Komponente den Archivierungsprozess durcheinander bringt.
quelle
Die Installation überspringen hat bei mir nicht funktioniert. Ich habe dieses Problem gelöst und alle als öffentlich gekennzeichneten Header in das Projekt verschoben. Ich arbeite derzeit in einem Arbeitsbereich mit einer statischen Bibliothek und einem iPad-Projekt. Es scheint, als ob es einen Fehler oder etwas mit xcode gibt, wenn Sie Ihr Produkt mit einem verknüpften Projekt erstellen möchten. Xcode erstellt beide und Organizer zeigt keine Option zum Teilen einer IPA an.
quelle
Dies sind Schritte zur Lösung des obigen Problems in xcode 4.2
1: "Zur Installation überspringen" für alle hinzugefügten Bibliotheken des dritten Teils auf JA. "Zur Installation überspringen" für Ihr Projekt auf NEIN. Sie können über die Build-Einstellungen auf "Zur Installation überspringen" zugreifen.
2: Wählen Sie die Bibliotheksüberschriften Ihrer Drittanbieter im linken Navigatorbereich aus.
2.1: Auf der rechten Seite befindet sich das Utililtes-Fenster. Zeigen Sie es mit Ansicht -> Dienstprogramme-> Dienstprogramme ein- / ausblenden (Befehl-Option-0) oder mit der dritten Schaltfläche in der Ansichts-Segmentsteuerung in der Symbolleiste an und verbergen Sie es
2.2: Dateiinspektor auswählen (Befehlsoption-1)
2.3 Wählen Sie Zielmitgliedschaft und ändern Sie die Option von öffentlich oder privat in 'Projekt'
quelle