Frage XCode4 + iOS 4.3: "Für den Archivtyp existiert kein Packager"


Ich habe gerade ein Upgrade auf XCode 4 durchgeführt und versuche, einen Ad-hoc-Build eines früheren Projekts zu erstellen. Wenn ich die Option "Archivieren" verwende, habe ich im Organizer-Fenster entweder überhaupt kein Archiv ODER es gibt ein Archiv, aber es gibt keine Option, es als .ipa zu packen, weil "No Packager für den Archivtyp existiert ".

Hat jemand Ad-hoc-Builds erhalten, die unter XCode 4 für Projekte arbeiten, die von XCode 3.2 migriert wurden?


76
2018-03-11 10:04


Ursprung


Antworten:


Sie können einige verlinkte Projekte (wie Libraries) in Ihrem Hauptprojekt haben. Gehen Sie zu den Build-Einstellungen dieser Projekte und setzen Sie die Einstellung "Installation überspringen" (Deployment-Kategorie) auf "Ja", lassen Sie aber die "Installation überspringen" des Hauptprojekts auf "Nein". Erstellen, archivieren und Sie sollten in der Lage sein, das ipa-Paket auszuwählen.


134
2018-03-16 08:36



Danke, aber ich brauchte 3 Schritte, um das Problem mit meinem Projektrahmen vollständig zu lösen:

  1. Setzen Sie für jedes Abhängigkeitsprojekt die Eigenschaft Ziel-Build-Einstellungen / "Installation überspringen" auf "JA"

  2. Deaktivieren Sie die Eigenschaft "Installationsverzeichnis" für die Zielerstellungseinstellungen für alle Projekte

  3. Verschieben Sie für jedes Projekt alle Header aus dem Abschnitt "Build-Phasen / Build-Einstellungen / Header kopieren" Öffentlich / Privat nach Projekt


25
2018-05-19 13:35



Ich fand, dass eine Kombination dieser Antworten das Problem gelöst hat. Ich habe viel Zeit damit verbracht, zu überprüfen, ob die Installation von Überspringen bei allen verknüpften Projekten auf Ja gesetzt war, und es stellte sich heraus, dass dies nur ein Teil des Problems für mich war. Wenn dieses Problem bei Archive auftritt, sind folgende Schritte erforderlich:

  1. Suchen Sie das Archiv im Organizer, klicken Sie mit der rechten Maustaste und wählen Sie Im Finder anzeigen aus.
  2. Klicken Sie mit der rechten Maustaste auf die Datei .xcarchive im Finder, und wählen Sie Paketinhalt anzeigen aus.
  3. Suchen Sie den Ordner Produkte und sehen Sie, was darin enthalten ist. Es sollte nur einen Ordner "Programme" im Ordner "Produkte" geben und der Ordner "Programme" sollte nur eine iPhone-App (YourProject.app) enthalten.

Wenn Sie in Schritt 3 eine statische Bibliothek (<some-library> .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 erkennen können, welches Projekt es basiert auf dem Namen der statischen Bibliothek). Gehe zu den Build-Einstellungen und wähle das Ziel, dann setze "Installation überspringen" auf "Ja".

Wenn Sie in Schritt 3 Header-Dateien (<some-header> .h) entweder direkt unter Produkte oder in einem Unterordner finden, wechseln Sie zu Xcode und wählen Sie das Projekt aus, das diese Header enthält. Sie sollten in der Lage sein, das Projekt basierend auf dem Präfix zu finden, das in den Header-Dateinamen verwendet wird. Wechseln Sie in diesem Projekt zu den Build-Phasen, und verschieben Sie im Abschnitt Kopfzeilen kopieren alle Kopfzeilen aus den Bereichen Public und Private in den Bereich Project.

Dank an diese Antwort und diese Antwort und diese Antwort um mir zu helfen, das zu lösen.


9
2017-12-28 21:39



Hier sind zwei weitere Tipps, die wir mit diesem Problem nützlich gefunden haben ... nicht Antworten, aber sie können jemand anderen eine Menge Zeit sparen rund um 8 /

Wenn Sie statische Bibliotheken verwenden, die NICHT von xcode4 erstellt werden, funktioniert die Problemumgehung "Bereitstellung -> Installation überspringen" nicht. Das Problem besteht darin, sie NICHT zum Projekt hinzuzufügen und sicherzustellen, dass sich ihre Pfade in den Build-Einstellungen in den Kopf- und / oder Bibliothekssuchpfaden befinden und die -lblah-Einträge den Linker-Flags hinzugefügt werden.

Wenn Sie eine statische lib als Zielabhängigkeit haben (zB hatten wir libjson.a als das gesetzt und ich bin mir ziemlich sicher, dass das die richtige / logische Sache ist), dann werden Sie einfach nicht in der Lage sein, .ipas zu erstellen egal was. Wir verbrachten mehr als einen ganzen Tag damit, mit diesem dummen Problem herumzutanzen und am Ende löste das das Problem. Persönlich denke ich, das sollte wirklich ein gebrochenes Projekt hinterlassen ... aber es funktioniert so meh.


5
2018-03-29 08:25



Um herauszufinden, welches Projekt / welche Bibliothek / Komponente Xcode daran hindert, ein korrektes Archiv zu erstellen, machen Sie Folgendes:

Suchen Sie das Archiv im Organizer, klicken Sie mit der rechten Maustaste und zeigen Sie es im Finder an. Dies zeigt eine .xcarchive Datei an. Klicken Sie mit der rechten Maustaste und zeigen Sie Paketinhalt an. Sehen Sie sich jetzt den Ordner Produkte an. Wahrscheinlich wird es mehr als nur einen Anwendungsordner mit einer iPhone-Anwendung geben.

In meinem Fall gab es eine usr / local / lib Ordnerstruktur mit libOAuthConsumer_iPhone.a und als ich in Xcode danach suchte, fand ich tatsächlich ein anderes Projekt, in dem ich Skip Install nicht auf YES gesetzt hatte. Es ist vielleicht nicht so einfach für jeden, aber wenn Sie in das Paket schauen, sollten Sie zumindest einen Hinweis darauf bekommen, welche Komponente den Archivierungsvorgang durcheinanderbringt.


3
2017-12-06 08:03



Skip install hat bei mir nicht funktioniert. Ich habe dieses Problem gelöst, indem ich alle als öffentlich markierten Header verschoben habe. Ich arbeite derzeit in einem Arbeitsbereich mit einer statischen Lib und einem Ipad Proj. Es scheint, dass es einen Fehler oder etwas mit xcode gibt, wann immer du dein Produkt mit einem verknüpften Projekt erstellen willst, xcode erstellt beides und Organizer zeigt keine Option an, um ein ipa zu teilen.


1
2017-11-24 19:18



Dies sind Schritte, um das obige Problem in xcode 4.2 zu lösen

1: "Skip to install" für alle hinzugefügten Third-Part-Bibliotheken auf YES. "Überspringen zur Installation" zu NEIN für Ihr Projekt. Sie können auf "Zur Installation überspringen" in den Build-Einstellungen zugreifen.

2: Wählen Sie im linken Navigationsbereich die Header Ihrer Drittanbieterbibliothek aus.

2.1: Auf der rechten Seite ist Utililtes Bereich.Scheinen und verstecken Sie es mit Ansicht -> Dienstprogramme -> zeigen / verbergen Dienstprogramme (Befehl-Option-0) oder mit der dritten Schaltfläche in der Ansicht segmentierten Steuerelement in der Symbolleiste

2.2: Dateiinspektor auswählen (Befehlsoption-1)

2.3 Wählen Sie Ziel-Mitgliedschaft und ändern Sie die Option zu "Projekt" von öffentlich oder privat


1
2018-04-13 07:41