Habe heute ein Upgrade auf Xcode 6.1 durchgeführt und weißt du was? Jetzt habe ich Probleme beim Senden von Builds mit der TestFlight-Desktop-App. Hier ist der Fehler, den ich bekomme, wenn die App mit dem Erstellen des IPA beginnt:
Fehler: / usr / bin / Codesign --force --preserve-metadata = Bezeichner, Berechtigungen, Ressourcenregeln --sign 854059d45eed724593debef577a562e1ba96ab55 --resource-rules = / tmp / QYFSJIvu7W / Payload / XX.app / ResourceRules.plist / tmp /QYFSJIvu7W/Payload/XX.app ist mit Fehler 1 fehlgeschlagen. Ausgabe: Warnung: Verwendung von --preserve-metadata mit der Option "Ressourcenregeln" (veraltet in Mac OS X> = 10.10)! Warnung: --resource-rules ist in Mac OS X> = 10.10 veraltet! /tmp/QYFSJIvu7W/Payload/XX.app/ResourceRules.plist: Ressourcen können nicht gelesen werden
Der "Support-Artikel" hat keine Ahnung, was los ist.
Es scheint kein TestFlight-Problem zu sein, da in einer CI-Umgebung wie Jenkins mit xcrun oder ähnlichen Tools dasselbe passiert.
Die App wurde monatelang nicht aktualisiert, daher weiß ich, dass ich nicht damit rechnen sollte, dass Updates dies bald beheben. Früher hat es für mich und meine Kunden sehr gut funktioniert, daher bin ich auch nicht wirklich daran interessiert, es für etwas anderes aufzugeben.
Alle Ideen, worum es bei diesem Fehler geht und wie er behoben werden kann, sind sehr willkommen.
quelle
xcrun -sdk iphoneos PackageApplication -v <Path_to_App> -o <Path_to_IPA> --sign <Distribution_certificate> --embed <Provisioning_profile>
. Mit Xcode 6.0.1 hat alles gut funktioniert.Antworten:
Ich wünschte, ich wüsste, warum es funktioniert, aber hier ist ein Fix , der für mich funktioniert hat:
quelle
Code Signing Resource Rules Path
in meinen Build-Einstellungen nichts sehen . Irgendeine Idee?Der folgende Patch für PackageApplications hat das Problem für mich behoben. Ich habe Ressourcenregeln entfernt, da es besagt, dass es am 10.10 veraltet ist.
Testflight Builds funktionieren ohne sie. Appstore baut auch.
quelle
Ich habe eine E-Mail an den TestFlight-Support gesendet und folgende Antwort erhalten:
Die vorgeschlagene Problemumgehung hat funktioniert.
quelle
Die Antwort von Tim Gostony funktioniert seit der Veröffentlichung von Xcode 7 nicht mehr. Jetzt schlägt der App Store-Übermittlungsprozess fehl, wenn Ressourcenregeln vorhanden sind. Die Lösung besteht darin, den Pfad für die Codesignatur-Ressourcenregeln zu löschen und xcrun durch das xcodebuild-Tool zu ersetzen:
Die einfachste Options.plist zum Exportieren von Adpa-Distributions-IPA-Dateien sieht folgendermaßen aus:
Für diese Plist-Datei stehen weitere Optionen in Bezug auf Bitcode, App-Ausdünnung usw. zur Verfügung. Aus diesem Grund denke ich, dass das xcodebuild-Tool das richtige Tool zum Exportieren von ipa-Dateien für iOS 9 und höher ist.
Weitere Details zu Optionen plist finden Sie mit dem Befehl xcodebuild -help.
quelle
Unter Yosemite mit XCode 6.4 schlägt die Codesignierung auch mit dem SDKROOT-Patch fehl. Im folgenden Artikel wird erläutert, wie Sie das XCode-Skript patchen, um dies zu umgehen. Beachten Sie, dass hiermit XCode gepatcht wird, es ist also versionsspezifisch, behebt jedoch das Problem.
http://www.jayway.com/2015/05/21/fixing-your-ios-build-scripts
quelle
Die Antwort von Alistra funktioniert für mich, aber ich möchte kein Skript ändern, das nicht von mir stammt (eine zukünftige Xcode-Version könnte diese Datei ändern und die Korrektur geht verloren).
Ich denke, die Antwort von Vladimir Grigorov ist die beste, wenn Sie ein Archiv haben, das Folgendes verwendet:
In meinem Fall habe ich das Archiv nicht, da ich die Anwendung nach dem Erstellen ändere und die Bundle-ID und das Signaturzertifikat ändern muss.
Die Lösung, die ich gefunden habe, besteht darin,
codesign
mich vorher anzurufenPackageApplication
und zu bittenPackageApplication
, nicht zu unterschreiben. So was :Vergessen Sie nicht, die
.mobileprovision
Datei zum Signieren mit einzubettencp
.quelle
Wie in einer anderen Antwort angegeben , können Sie auch nicht das Verteilungszertifikat angeben, mit dem signiert werden soll, und es wird korrekt verpackt. TestFlight müsste dazu seine App aktualisieren.
quelle