MAS Codesign Probleme unter 10.10

Hallo,

bisher hatte ich unter 10.8 meine Apps signiert und dann hochgeladen, das war nie ein Problem.
Jetzt muss das signieren ja unter 10.9 oder 10.10 stattfinden und da tut es offensichtlich mein Code nicht mehr.
Ich habe aber zu wenig Ahnung von dem ganzen Codesign, dass ich nicht herausgefunden habe, woran es liegen könnte.

Unten mein Code, ich kopiere das einfach ins Terminal, es läuft auch problemlos durch, die App wird aber schon vom Application Loader mit folgenden Fehlern abgelehnt:
ERROR ITMS-90238: “Invalid Signature - the nested app bundle XojoFramework at path [de.onlymac.eurofakturabasic.pkg/Payload/EuroFaktura Basic.app/Contents/Frameworks/XojoFramework.framework] is not signed with an Apple submission certificate. Refer to the Code Signing and Application Sandboxing Guide at http://developer.apple.com/library/mac/#documentation/Security/Conceptual/CodeSigningGuide/AboutCS/AboutCS.html and Technical Note 2206 at https://developer.apple.com/library/mac/technotes/tn2206/_index.html for more information.”
ERROR ITMS-90334: “Bundle identifier mismatch. The executable at XojoFramework in EuroFaktura Basic.app/Contents/Frameworks/XojoFramework.framework has been signed with identifier ‘com.xojo.framework’ which does not match the bundle identifier ‘com.xojo.XojoFramework’.”

Mein Code:
APPNAME=“EuroFaktura Basic”
cd /Applications/Dev/Release/basicMAS
codesign -f -s ‘3rd Party Mac Developer Application: Developername’ --entitlements entitlements.plist “${APPNAME}”.app
codesign -f --deep -s ‘3rd Party Mac Developer Application: Developername’ “${APPNAME}”.app/Contents/Frameworks/.dylib
codesign -f --deep -s ‘3rd Party Mac Developer Application: Developername’ “${APPNAME}”.app/Contents/MacOS/
.dylib
echo “Verifying Codesigned app…”
codesign -d -vvvv “${APPNAME}”.app
echo “Building installer…”
productbuild --component “${APPNAME}”.app /Applications --sign ‘3rd Party Mac Developer Installer: Developername’ “${APPNAME}”.pkg

Hat jemand eine Idee??

Wenn Du die Dylibs signierst brauchst Du kein deep, das ist sowieso deprecated. Hast Du es schon mit AppWrapper oder AppWrapper mini versucht? Die berprfung wird nicht mit codesign -vvvv gemacht sondern mit spctlt oder so hnlich.

nach dem codesign überprüf doch mal, ob “spctl -a -vv PfadZurApp” okay meldet.

ah, die Reihenfolge ist falsch. Erst die dylibs, das Xojo Framework und dann das Programm.

Ok, ich habe die Reihenfolge gendert und berprfe es dann mit spctl -a -vv

Ergebnis:
EuroFaktura Basic.app: rejected
origin=3rd Party Mac Developer Application: Stefan Sicurella

Ich habe AppWrapper bisher nicht gebraucht, ging imemr alles glatt…

Versuch es mit AppWrapper Mini. Das spuckt ein nettes IDE-Script aus, da Du immer noch modifizieren kannst. Z.B. mu ich eine Python-App und die Valentina-Komponenten signieren.

Das Signieren ist immer so ein gigantischer Spa bei den wunderbaren Fehlermeldungen.

wie war dein Skript jetzt?

APPNAME=“EuroFaktura Basic”
cd /Applications/Dev/Release/basicMAS
codesign -f --deep -s ‘3rd Party Mac Developer Application: Stefan Sicurella’ “${APPNAME}”.app/Contents/MacOS/.
codesign -f --deep -s ‘3rd Party Mac Developer Application: Stefan Sicurella’ “${APPNAME}”.app/Contents/Frameworks/.
codesign -f -s ‘3rd Party Mac Developer Application: Stefan Sicurella’ --entitlements entitlements.plist “${APPNAME}”.app
echo “Verifying Codesigned app…”
spctl -a -vv “${APPNAME}”.app
echo “Building installer…”
productbuild --component “${APPNAME}”.app /Applications --sign ‘3rd Party Mac Developer Installer: Stefan Sicurella’ “${APPNAME}”.pkg

wobei die beiden Fehler im ApplicationLoader damit nicht mehr auftreten… aber die berprfung mit spctl -a -vv bringt jetzt halt rejected

Das spctl ist leider ausschlaggebend.

Ja, trotzdem ldt der Application Loader das Paket ohne Fehler hoch… verrckt.

Ich hatte bisher nur die Zertifikate im Schlsselbund, braucht man die production-provisioning-profiles jetzt auch zwingend?
wei das jemand?

ist denn sonst noch Code im Programm? Kleines Hilfsprogramm, was du vergessen hast zu signieren?

bei mir heit das Zertifikat anders. Bist du sicher du hast das richtige? Bei mir heit es “Developer ID Application: xxx AG” also mit der richtigen Firma.

ganz sicher, ich benutze diese Zeilen seit 4 Jahren und bis 10.8 war das auch nie ein Thema…

Ich glaube nicht, dass da noch ein Hilfsprogramm ist, und damit sollte doch alles signiert werden oder?
MacOS/.
Frameworks/.

Unter 10.10 müssen alle Arten von Komponenten signiert werden. Benutzt Du Valentina? Kopierst Du irgendetwas ins Bundle? Seit 10.10. geht das nur mit ditto und nicht mit cp (das hat mich mehrere Stunden gekostet).

Vor dem signieren kopiere ich etliche Ordner in Resources, mit der Anleitung, der Demodatenbank usw… alles Dateien, keine Apps
Ich kopiere sie manuell rein, habe ich mir so zurecht gelegt…

Um den Thread hier noch zu Ende zu bringen, meine App wurde veröffentlicht obwohl bei meinem code spctl rejected ausgeben hatte…
Wichtig hierbei, alle Komponeten, wie Anleitung oder Importdateien habe ich zuvor in einem Ordner in Resources reinkopiert.
Dann auf den gesamten Ordner Contents alle Rechte vergeben und auf alle Unterordner übertragen, sonst kommt da immer eine kryptische Fehlermeldung.
Ging reibungslos durch :wink:

https://itunes.apple.com/us/app/eurofaktura-basic/id455211629?l=de&ls=1&mt=12

APPNAME=“EuroFaktura Basic”
cd /Applications/Dev/Release/basicMAS
codesign -f --deep -s ‘3rd Party Mac Developer Application: Stefan Sicurella’ “${APPNAME}”.app/Contents/MacOS/"${APPNAME}"
codesign -f --deep -s ‘3rd Party Mac Developer Application: Stefan Sicurella’ “${APPNAME}”.app/Contents/Frameworks/.
codesign -f -s ‘3rd Party Mac Developer Application: Stefan Sicurella’ --entitlements entitlements.plist “${APPNAME}”.app
echo “Verifying Codesigned app…”
spctl -a -vv “${APPNAME}”.app
echo “Building installer…”
productbuild --component “${APPNAME}”.app /Applications --sign ‘3rd Party Mac Developer Installer: Stefan Sicurella’ “${APPNAME}”.pkg