2017-10-06 6 views
0

Ich habe ein Projekt mit mehreren Build-Konfigurationen und Build-Skripten, die vor kurzem von Xcode 8 auf Xcode9 migriert wurde. Es baut und läuft sowohl von Xcode als auch von Simulator und Gerät einwandfrei und archiviert korrekt. Wenn ich jedoch versuche, über die Befehlszeile zu erstellen oder zu archivieren, ist es erfolgreich, aber die App stürzt beim Öffnen (im Simulator) ab oder gibt eine Fehlermeldung aus (beim Öffnen auf dem Gerät).Xcode 9: xcodebuild -exportArchive Fehler beim Lesen Datei: info.plist

Um von Jenkins Continuous Integration archivieren, ich bin mit

'xcodebuild -exportArchive -archivePath myApp.xcarchive -exportOptionsPlist ./build/exportArchive.plist -exportPath myApp.ipa' 

und es schafft eine ipa, aber wenn ich versuche, die IPV zu öffnen, es gibt mir diese Fehlermeldung:

"Unable To Install 'Error Reading File: info.plist' Please try again later."

and the app name itself is "ErrorReadingFile:info.plist"

Wenn ich die .ipa-Datei öffne, die exportiert wurde, hat sie keine dSYMs oder info.plist, nur einen Products-Ordner mit .app-Dateien, und die .app-Datei ist komplett leer mit Ausnahme einiger iPad-Icon-Images (dies sollte eine universelle App sein)).


Auch wenn ich ausführen, um die Befehle für Simulator zu bauen und zu implementieren:

xcodebuild -sdk iphonesimulator -configuration Debug -project myApp 
xcrun simctl install <whatever device id> myApp.app 
xcrun simctl launch <whatever device id> com.whatever.myApp 

Es installiert erfolgreich die App und dann stürzt unmittelbar nach dem Start ohne Fehlercodes. Dies ist, was in dem Bericht nach dem Simulator Absturz zeigt sich:

Crashed Thread: 0 Exception Type: EXC_CRASH (SIGABRT) Exception Codes: 0x0000000000000000, 0x0000000000000000 Exception Note: EXC_CORPSE_NOTIFY Termination Reason: DYLD, [0x9]

Wie bekomme ich das/run/Archiv aufzubauen ordnungsgemäß von der Kommandozeile ??

Antwort

1

Ich kann vorschlagen, "Archiv" und dann "Archiv exportieren" direkt von Xcode, nur um herauszufinden, ist es ein Problem mit dem Build oder mit Skripten.

Sie haben gesagt, Sie haben mehrere Konfigurationen. Vielleicht bauen Sie das falsche Schema?

Können Sie Ihre Build-Befehle angeben?

Außerdem hat xcode 9 neue Anforderungen an exportArchive.plist. Und wenn Sie das Export-Archiv direkt aus Xcode exportieren, wird Plist, das zum Exportieren verwendet wurde, mit dem Export-Ergebnis gespeichert. Und Sie können es später in Ihren Build-Skripten verwenden.

1

Ich verwende fastlane für Build-Anwendungen auf CI. Es ist einfacher, als alles manuell zu machen. verwende ich follow Spur ein entwickeln Archiv zu erstellen:

lane :development_archive do 
    gym(
     output_directory: ENV['ARTIFACT_OUTPUT_DIRECTORY'], 
     output_name: ENV['IPA_ARCHIVE_NAME'], 
     scheme: ENV['SCHEME'], 
     include_bitcode: false, 
     configuration: 'Debug', 
     export_method: "development", 
    ) 
end 

Und in der Befehlszeile Ich tippe einfach fastlane development_archive IPA-Archiv zu erhalten. Vielleicht sollten Sie dem Fastlane-Skript zusätzliche Schritte hinzufügen, z. B. Pods installieren. Lesen Sie die Dokumentation, Fastlane ist ein großes Werkzeug für CI.

Verwandte Themen