Das Signieren einer .app, die ein Shell-Skript mit OS X 10.11 umschließt, kann bei 10.10 oder weniger nicht verifiziert werden. Ich kann 10.10 und 10.9 und 10.9, 10.10 und 10.11.Ist die Signatur von Shell-Skript-Wrapping-Anwendungen in OS X 10.11 fehlerhaft?
Ich habe zwei Beispiel-Apps und ein Skript auf github, um dies zu zeigen. Die beiden HelloWorld.apps variieren nur in der Binärdatei in Contents/MacOS/HelloWorld. Einer ist ein Shell-Skript, der andere ist Ziel-c kompiliert.
Signing Werke und überprüft auf 10.11 für beide Versionen:
Shell Script Version:
codesign -s "${signing_identity}" -v shell-script/HelloWorld.app
signed bundle with generic [liamsharp.helloworld]
codesign -vv shell-script/HelloWorld.app
shell-script/HelloWorld.app: valid on disk
shell-script/HelloWorld.app: satisfies its Designated Requirement
Objective-C-Version:
codesign -s "${signing_identity}" -v objective-c/HelloWorld.app
signed bundle with Mach-O thin (x86_64) [liamsharp.helloworld]
codesign -vv objective-c/HelloWorld.app
objective-c/HelloWorld.app: valid on disk
objective-c/HelloWorld.app: satisfies its Designated Requirement
Aber die Shell-Skript-Version nicht auf, um zu überprüfen 10.10 und 10.9:
codesign -vv shell-script/HelloWorld.app
shell-script/HelloWorld.app: invalid signature (code or signature have been modified)
Ich habe Zugriff auf eine andere 10.11-Maschine und das gleiche Problem tritt auf, wenn es .apps signiert. Ich habe Zugriff auf eine 10.9-Maschine, die auch nicht verifiziert werden kann.
Es gibt einen Unterschied im _CodeSignature-Verzeichnis, das für das Shell-Skript .app erstellt wurde.
Hier ist, wie es, wenn auf 10.10 signiert ist:
CodeDirectory
CodeRequirements
CodeResources
CodeSignature
Aber wenn auf 10.11 unterzeichnet wir bekommen einige zusätzliche Dateien:
CodeDirectory
CodeRequirements
CodeRequirements-1
CodeResources
CodeSignature
CodeTopDirectory
Gibt es eine magische Option, die ich für Co-Design bin fehlen erlaube das zu arbeiten? Oder gibt es einen Fehler?
Dies scheint ein Fehler mit "Codesign" auf OS X 10.11 zu sein. Der Fehler betrifft auch Automator '.definition' Bundles. Ich habe den Fehler mit Apple als rdr eingereicht: // 26297046. –
Ich habe auch 26363618 gefüllt. – CodeBuddy
Danke. Ich schätze es, dass Sie diese Frage stellen und den Testfall erstellen. Es war beruhigend, dass andere auf diesen OS X-Fehler stießen. –