PhoneGap, wie man ein Release über die Kommandozeile erstellt

9

Ich mache Release-Builds durch Aufruf von:

%Vor%

Aber für PhoneGap Apps bekomme ich diesen Fehler:

  

** BUILD FAILED **

     

Die folgenden Build-Befehle sind fehlgeschlagen:       CompileC build / Phonefinfin.build / Release-iphoneos / Phonefinfin.build / Objekte-normal / armv6 / AppDelegate.o Phonefinfin / Klassen / AppDelegate.m normal armv6 objective-c com.apple.compilers.llvm.clang.1_0.compiler   (1 Fehler)

Wenn ich es versuche:

%Vor%

Ich bekomme:

  

2012-10-04 22: 51: 52.776 xcodebuild [20016: 4107] DVTAssertions: Warnung in /SourceCache/IDEXcode3ProjectSupport/IDEXcode3ProjectSupport-1559/Xcode3Sources/XcodeIDE/Frameworks/DevToolsBase/pbxcore/SpecificationTypes/XCGccMakefileDependencies.m:87   Details: Fehler beim Laden der Abhängigkeiten Ausgabe Inhalte von '' /Users/camobap-mac/Projects/Phonefinch/build/Phonefinch.build/Release-iphoneos/Phonefinch.build/Objects-normal/armv6/AppDelegate.d ''. Fehler: Fehler Domain = NSCOAErrorDomain Code = 260 "Die Datei" AppDelegate.d "konnte nicht geöffnet werden, da es keine solche Datei gibt." UserInfo = 0x400eabf40 {NSFilePath = / Benutzer / camobap-mac / Projekte / Phonefinfin / build / Phonefinfin.build / Release-iphoneos / Phonefinch.build / Objekte-normal / armv6 / AppDelegate.d, NSUnderlyingError = 0x40079c140 "Die Operation konnte nicht abgeschlossen sein. Keine solche Datei oder Verzeichnis "}. Benutzerinformation: {       NSFilePath="/Users/camobap-mac/Projects/Phonefinch/build/Phonefinch.build/Release-iphoneos/Phonefinch.build/Objects-normal/armv6/AppDelegate.d";       NSUnderlyingError="Fehlerdomäne = NSPOSIXErrorDomain Code = 2 \" Die Operation konnte nicht abgeschlossen werden. Datei oder Verzeichnis existiert nicht\"";   }.   Funktion: void XCGccMakefileDependenciesParsePathsFromRuleFile (NSString *, void (^) (NSString *))   Thread: {Name = (Null), Num = 7}   Bitte senden Sie einen Fehler bei Ссылка mit dieser Warnung und nützlichen Informationen, die Sie zur Verfügung stellen können.   ** BUILD FAILED **

     

Die folgenden Build-Befehle sind fehlgeschlagen:       CompileC build / Phonefinfin.build / Release-iphoneos / Phonefinfin.build / Objekte-normal / armv7 / AppDelegate.o Phonefinfin / Klassen / AppDelegate.m normal armv7 objective-c com.apple.compilers.llvm.clang.1_0.compiler       CompileC build / Phonefinfin.build / Release-iphoneos / Phonefinfin.build / Objekte-normal / armv6 / AppDelegate.o Phonefinfin / Klassen / AppDelegate.m normal armv6 objective-c com.apple.compilers.llvm.clang.1_0.compiler   (2 Fehler)   2012-10-04 22: 52: 04.887 xcodebuild [20016: 4f0f] DVTAssertions: Warnung in /SourceCache/IDEXcode3ProjectSupport/IDEXcode3ProjectSupport-1559/Xcode3Sources/XcodeIDE/Frameworks/DevToolsBase/pbxcore/SpecificationTypes/XCGccMakefileDependencies.m:87   Details: Fehler beim Laden der Abhängigkeiten des Ausgabeinhalts von '' /Users/camobap-mac/Projects/Phonefinch/build/Phonefinch.build/Release-iphoneos/Phonefinch.build/Objects-normal/armv6/MainViewController.d ''. Fehler: Fehler Domain = NSCOAErrorDomain Code = 260 "Die Datei" MainViewController.d "konnte nicht geöffnet werden, da es keine solche Datei gibt." UserInfo = 0x400ef6e40 {NSFilePath = / Benutzer / camobap-mac / Projekte / Phonefinfin / build / Phonefinfin.build / Release-iphoneos / Phonefinch.build / Objekte-normal / armv6 / MainViewController.d, NSUnderlyingError = 0x400ef24a0 "Die Operation konnte nicht abgeschlossen sein. Keine solche Datei oder Verzeichnis "}. Benutzerinformation: {       NSFilePath="/Users/camobap-mac/Projects/Phonefinch/build/Phonefinch.build/Release-iphoneos/Phonefinch.build/Objects-normal/armv6/MainViewController.d";       NSUnderlyingError="Fehlerdomäne = NSPOSIXErrorDomain Code = 2 \" Die Operation konnte nicht abgeschlossen werden. Datei oder Verzeichnis existiert nicht\"";   }.   Funktion: void XCGccMakefileDependenciesParsePathsFromRuleFile (NSString *, void (^) (NSString *))   Thread: {Name = (Null), Num = 10}   Bitte senden Sie einen Fehler bei Ссылка mit dieser Warnung und nützlichen Informationen, die Sie zur Verfügung stellen können.   ** BUILD FAILED **

     

Die folgenden Build-Befehle sind fehlgeschlagen:       CompileC build / Phonefinfin.build / Release-iphoneos / Phonefinfin.build / Objekte-normal / armv6 / AppDelegate.o Phonefinfin / Klassen / AppDelegate.m normal armv6 objective-c com.apple.compilers.llvm.clang.1_0.compiler       CompileC build / Phonefinfin.build / Release-iphoneos / Phonefinfin.build / Objekte-normal / armv6 / MainViewController.o Phonefinfin / Klassen / MainViewController.m normal armv6 objective-c com.apple.compilers.llvm.clang.1_0.compiler   (2 Fehler)

Wenn ich cordova/debug - & gt; ** BUILD SUCCESS ** , aber mein .app ist im Debug-Modus kompiliert. Wie kann ich ein Release auf der Befehlszeile erstellen?

    
CAMOBAP 30.09.2012, 09:23
quelle

3 Antworten

1

Ich habe eine Lösung gefunden - cordova Utility ist ein Schlüssel. Aber wir müssen einige Schritte machen, um es vorzubereiten:

  1. Skript zu hooks/after_build/010_sign_ios.js

    hinzufügen %Vor%

    Aber fix app_name , sign_crt_name und provision_path Variablen entsprechend Ihren Anforderungen

  2. Führen Sie cordova build ios --release --device

  3. aus
  4. Verwenden Sie $PWD/platforms/ios/build/device/HelloWorld.ipa zur Lieferung oder Installation über cmd mit dem großartigen Tool ideviceinstaller

CAMOBAP 02.12.2015, 12:28
quelle
3

Ich hatte genau das gleiche Problem. Ich weiß nicht, ob meine Lösung auf Ihr Problem zutrifft. Aber hier ist, wie ich es gelöst habe: Ich nehme an, dass Sie das cordova-Subprojekt aus Ihrem Xcode-Projekt heraus verwenden. Überprüfen Sie, ob Sie den gleichen Konfigurationsnamen für das Cordova-Projekt haben.

Beispiel: Wenn Ihre Release-Konfiguration für Ihr Hauptprojekt "ReleaseAdHoc" heißt, stellen Sie sicher, dass Ihr cordova-Unterprojekt auch eine Konfiguration mit diesem Namen besitzt. Stellen Sie außerdem sicher, dass Sie diese Konfigurationen für den Prozess "Archivieren" sowohl für Ihr Hauptprojekt als auch für das Unterprojekt auswählen.

Hoffe, das hilft.

    
DucatiNerd 28.11.2012 16:47
quelle
-1

Ich konnte aus der Befehlszeile mithilfe des Parameters CONFIGURATION_BUILD_DIR im Befehl xcodebuild erstellen und ein leeres Buildverzeichnis angeben. Scheint, dass Dateien, die nach XCode erstellt wurden, Konflikte mit dem xcodebuild-Befehl

verursachen     
snautz 11.10.2012 20:33
quelle