Frage

Ich suche ein Open-Source-iPhone App zu verteilen, und ich habe ein paar Fragen über die Quelle ausschüttende:

  1. Wie kann ich das Quellarchiv automatisieren die Erstellung (oder Diskimage) mit XCode? Ich möchte etwas entlang der Linien eines Build-Ziel, das die Quellarchive (Ziele zunächst bei Bedarf reinigen, aber es wäre schön, wenn es nicht haben). Ich habe auch mit einem Ruby-Skript ein externes NetBeans-Projekt habe, die eine SQL-Datenbank erstellen verwendet wird, die das Programm braucht (aber ein separates Archiv davon machen kann, wenn erforderlich).

  2. Was ist der beste Weg, um die Dateien, die die ‚Quelle‘ darstellen zu identifizieren? Ist es einfach alles, was nach der Reinigung alle Ziele übrig geblieben ist? Etwaige Einsprüche mit diesem Ansatz (ich nicht ganz vertrauen IDEs aufzuräumen all cruft sie scheinen zu machen - auch dies haftet jede Mitgestaltung Sachen enthalten, dass es nicht soll)?

War es hilfreich?

Lösung

Sie kann ein Skript ausführen Phase hinzufügen Erstellen Sie auf jedes Ziel Nachbearbeitung des Build zu tun. Der richtige Ansatz ist in der Regel ein Gesamtziel zu erstellen, das ersten Build-Produktziel baut, läuft dann das Skript auf dem Ausgang.

Es ist schwer, alle „Quelle“ Dateien zu identifizieren. Es ist oft alles in $ (SRCROOT), aber wenn Ihr Projekt in der Wurzel gelegt wird -> (src) (projfiles) Art und Weise, die $ (SRCROOT) nur die Projektdatei enthält und keine Quellen. Sie können das Wissen von zumindest der obersten Ebene Projekt-Layout in das Skript zu codieren haben, und halten Sie es, wenn sie sich ändert.

Auch wenn es der Standard ist, werden Sie wahrscheinlich nicht wollen, den Erstellungsordner im Projektordner platzieren, wenn Sie die Quellen zu archivieren gehen, weil Sie oft werden die Zwischenprodukte greifen, Projektindex und andere Eintagsfliegen. In Ihrem Project Inspektor Get Info, General Bereich, stellen Sie die Build-Produkte und Intermediates Verzeichnis an einen gemeinsamen Standort außerhalb des Projektverzeichnisses. Das wird die Aufgabe der Archivierung Ihre Quellen vereinfachen.

Und Xcode verfügt über einen eingebauten in Archivierung Mechanismus, die so genannte Snapshots; Sie möchten, dass verwenden, obwohl es nicht einfach ist zu automatisieren. Aber Snapshots tut wissen alle über alle Quellen.

Andere Tipps

Stellen Sie die SRCROOT Umgebungsvariable auf die Position, die Sie die Quelle archiviert möchten, wechseln Sie in das Projektverzeichnis, und führen

xcodebuild installsrc build -configuration <configname> -target <targetname>

Die "installsrc" Aktion kopiert die Projektquelle $ bauen {SRCROOT}.

Nun, ich habe bisher auf diesen keine Antworten hat, so werde ich es von der anderen Seite nähern, indem machen und die Befehlszeile. Ich werde die Antwort auf diese Frage verwenden:

Gebäude Qt Xcode-Projekte von der Kommandozeile

... und dann mit einem Standardansatz ‚machen‘ die App und die Quelldistribution Archiv aufzubauen.

Versuchen Sie, ein Aggregat Ziel wie vorgeschlagen das folgende Skript aufrufen:

#! / Bin / bash -x

cd "$ BUILT_PRODUCTS_DIR"

appfile = "$ PROJECT_NAME.app"

IPAFILE = "$ PROJECT_NAME.ipa"

if [ "$ BUILD_STYLE" = "Distribution"]; dann

rm -f "$APPFILE.zip" && zip -ry "$APPFILE.zip" "$APPFILE" && open .

elif [ "$ BUILD_STYLE" = "Betatest"]; dann

rm -rf "$IPAFILE" iTunesArtwork Payload && \
cp ../../Apple/iTunesArtwork . && \
mkdir Payload && cp -Rp "$APPFILE" Payload && \
zip -r "$IPAFILE" iTunesArtwork Payload && open .

fi

äh, vielleicht ist dies die Antwort auf eine andere Frage aber ...

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top