Exportiert die .ipa-Datei aus dem Xcode-Projekt, ohne Xcode jemals zu öffnen

9

Wir haben eine API, die Benutzer aufrufen können, um Cordova-Apps / -Projekte zu erstellen, ihr www-Verzeichnis hochzuladen und dann mit der Kompilierung zu beginnen und die ausführbare Binärdatei herunterzuladen. Diese Binärdatei wird dann in einen privaten App Store übertragen.

Ich habe Probleme mit dem Kompilierschritt für iOS. Der Cordova-Build-Schritt ist kein Problem, aber er gibt keine Binärdatei aus, wie für Android. Nachdem ich alles gelesen hatte, was ich auf Stackoverflow und anderswo gefunden hatte, war der Plan folgender:

%Vor%

Da die Signieridentität und alles korrekt eingerichtet ist, funktioniert es fast. Der erste Befehl wird ausgeführt. Der zweite Befehl hängt einfach.

Wenn ich jedoch das Projekt in Xcode öffne und dann die Befehle ausführe, kompiliere und exportiere es, und mir bleibt eine .ipa-Datei übrig, die ich wollte. Es scheint, dass Xcode beim ersten Öffnen des Projekts einen Arbeitsbereich und einige schemabezogene Dinge einrichtet.

Gibt es eine Möglichkeit, xcodebuild (oder xcrun oder irgendwas anderes) für diese Arbeitsbereichsdatei für mich zu erstellen?

Oder gibt es einen anderen Weg, um das zu erreichen?

Im Moment habe ich eine Lösung, bei der ich das Xcode-Projekt öffne, 15 Sekunden warte und dann weitermache. Aber ich kann mir tausend Möglichkeiten vorstellen, die irgendwann scheitern werden, also würde ich es gern etwas eleganter machen.

Ich habe derzeit Xcode 6.3 installiert, wenn das relevant ist.

Update: Opals Antwort unten setzte mich auf den richtigen Weg (denke ich). Am Ende habe ich ein geteiltes Schema nach Opals Link exportiert und dieses als Vorlage für zukünftige Apps verwendet. Die Lösung war etwa so:

%Vor%     
Morten Krane 20.04.2015, 07:42
quelle

2 Antworten

2

Es scheint, dass die Anwendung, die Sie erstellen möchten, keine gemeinsamen Schemata hat. Schemas, falls nicht geteilt, werden erstellt, wenn das Projekt in xcode geladen wird. Um gemeinsam genutzte Schemata zu erstellen, siehe .

.

    
Opal 20.04.2015, 11:31
quelle
0

Dies sind die Schritte, die ich verwendet habe, um die ipa-Generierung zu automatisieren, ohne xcode in meiner Cordova-Umgebung zu öffnen. (xcode Version: 6.0.1 cordova Version: 3.6.0)

  • Ändern Sie in cordova / build.xcconfig : CODE_SIGN_IDENTITY = iPhone-Verteilung (ändern Sie "Entwickler" in "Verteilung".)
  • Führen Sie cordova build ios --device im cordova-Arbeitsbereich aus, der die .app-Datei
  • generiert
  • Unterschreiben mit: xcrun -sdk iphoneos PackageApplication -v ${WORKSPACE}/platforms/ios/build/device/${application.name}.app -o ${WORKSPACE}/platforms/ios/build/${application.name}.ipa --embed ${ios.distribution.provisionfile}.mobileprovision --sign ${code.signing.identity}
kumar 20.04.2015 10:26
quelle

Tags und Links

yii\base\ErrorException
Copied! Copy Stacktrace Search Stackoverflow Search Google Error

PHP Core Warningyii\base\ErrorException

PHP Startup: Unable to load dynamic library 'mongodb.so' (tried: /usr/lib64/php/modules/mongodb.so (/usr/lib64/php/modules/mongodb.so: cannot open shared object file: No such file or directory), /usr/lib64/php/modules/mongodb.so.so (/usr/lib64/php/modules/mongodb.so.so: cannot open shared object file: No such file or directory))

$_GET = [
    'id' => '316180',
    'url' => 'export-ipa-file-from-xcode-project-without-ever-opening-xcode',
];

$_COOKIE = [
    'advanced-frontend' => '1a9c4c14eba2f53473b8dafd67d276fb',
    '_csrf-frontend' => '7b20698af952437b035dc6a0592bbca52362c5462fb666c46a39b49012814b3ca:2:{i:0;s:14:"_csrf-frontend";i:1;s:32:"tc-fd_DX_JQl6nscSMmqRYRQ6DRWPfNG";}',
];

$_SESSION = [
    '__flash' => [],
];