Подпись .app, которая обертывает сценарий оболочки с использованием OS X 10.11, не может быть проверена на версии 10.10 или ниже. Я могу подписать 10.10 и 10.9, и он проверяет 10.9, 10.10 и 10.11.
Чтобы показать это, я поместил два примера приложений и сценарий на github. Два HelloWorld.app различаются только двоичным файлом в Contents / MacOS / HelloWorld. Один - это сценарий оболочки, другой - скомпилированный объект-c.
Подпись работает и проверяет 10.11 для обеих версий:
Версия сценария оболочки:
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:
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
Но версия сценария оболочки не проверяется в 10.10 и 10.9:
codesign -vv shell-script/HelloWorld.app
shell-script/HelloWorld.app: invalid signature (code or signature have been modified)
У меня есть доступ к другому компьютеру 10.11, и такая же проблема возникает, когда он подписывает .app. У меня есть доступ к машине 10.9, и это тоже не удается проверить.
Существует разница в каталоге _CodeSignature, созданном для сценария оболочки .app.
Вот как это будет при подписании 10.10:
CodeDirectory
CodeRequirements
CodeResources
CodeSignature
Но при подписании 10.11 мы получаем несколько дополнительных файлов:
CodeDirectory
CodeRequirements
CodeRequirements-1
CodeResources
CodeSignature
CodeTopDirectory
Есть ли какой-то волшебный вариант, который мне не хватает для кода, чтобы это работало? Или есть баг?
codesign
в OS X 10.11. Ошибка также затрагивает.definition
пакеты Automator. Я зарегистрировал ошибку в Apple как rdr: // 26297046. - person Graham Miln   schedule 16.05.2016