Думаю, я, можливо, це зрозумів. Я запускав Xcode 4.6.3 на OS X Mavericks, маючи враження, що будь-які спеціальні інструменти збірки включені в додаток Xcode.
Але, схоже, codesign
є в /usr/bin
. Незалежно від того, поміщений він там одним із установників Xcode, чи поставляється з ванільною системою, я не впевнений. Але, прочитавши man
сторінку codesign
, я знайшов цей чудовий варіант:
in turn. Beware that all signing options you specify will apply, in turn, to such nested content.
When verifying a bundle, specifies that any nested code content will be recursively verified as to its full content. By default,
verification of nested content is limited to a shallow investigation that may not detect changes to the nested code.
When displaying a signature, specifies that a list of directly nested code should be written to the display output. This lists only
code directly nested within the subject; anything nested indirectly will require recursive application of the codesign command.
І тоді я знайшов цю публікацію ( https://alpha.app.net/isaiah/post/6774960 ) від двох тижнів тому (~ червня 2013 р.), Де згадується (хоча і з рук в руки):
@isaiah Я запитав про це хлопця в лабораторіях. За його словами, кодовий дизайн тепер вимагає підписання вбудованих фреймворків окремо перед підписанням коду набору програм у цілому.
Повторний запуск codesign
команди, яку зазвичай виконує Xcode, під час додавання --deep
прапора до кінця підписує програму належним чином.
Я ще не впевнений, які саме наслідки має цей підпис вручну, чи можу я налаштувати збірку Xcode для --deep
автоматичного додавання прапора, але це, здається, основна проблема. ( codesign
більше не автоматично автоматично підписує ваш додаток.)