2013-11-28 2 views
2

Я использую codesign с опцией —deep.codeign --deep on mavericks xcode 5.0 (5A1412)

enter image description here

/usr/bin/codesign --verbose --force --sign "Developer ID Application: myCompany” —deep myApp.app 

на 10,8 его работы тонкой

$ codesign -vvv myApp.app 
myApp.app: valid on disk 
myApp.app: satisfies its Designated Requirement 

Но на 10.9 я получаю nested code is modified or invalid.

$ codesign -vvv myApp.app 
myApp.app: nested code is modified or invalid 
file modified: myApp.app/Contents/MacOS/SecondUtility 

У меня есть два исполняемых в папке MacOS, один от стадии сборки (Destination: исполняемых файлов)

$codesign -vvv myApp.app/Contents/MacOS/SecondUtility 
myApp.app/Contents/MacOS/SecondUtility: valid on disk 
myApp.app/Contents/MacOS/SecondUtility: does not satisfy its designated Requirement 

Run Script с помощью команды код знака оболочки также не работает для меня.

Может ли кто-нибудь помочь мне?

+0

Я не вижу параметр '--deep' в вашей первой командной строке. –

+0

копия паста проблема. Я использую --deep в других флагах подписи кода. –

+0

Смотрите: http://furbo.org/2013/10/17/code-signing-and-mavericks/ –

ответ

2

После создания сборки в Xcode 5 снова появляется код SecondUtility и myApp.app.

sudo /usr/bin/codesign --verbose --force --sign "Developer ID Application: myCompany" myApp.app/Contents/MacOS/SecondUtility 

sudo /usr/bin/codesign --verbose --force --sign "Developer ID Application: myCompany" myApp.app 

Теперь он работает отлично.

Запуск сценария с помощью команды оболочки кода не работает для меня.

EDIT

Взгляните на OS X Code Signing In Depth

Начиная с OS X версии 10.9.5, будут внесены изменения в том, как OS X распознает подписанных приложений

Structure your bundle в соответствии с ожиданиями OS X версии 10.9 или новее:

  • Включить только подписанный код i n каталогов, которые должны содержать подписанный код .
  • Включать только ресурсы в каталогах, которые должны содержать
    ресурсов.
  • Не используйте флаг -resource-rules или ResourceRules.plist. Они были устарели и будут отклонены.
+0

По какой-то причине это работает, только когда я подписываю приложение root, а затем подписываю 'SecondUtility'. – ThomasReggi

+0

@ThomasReggi Из моего опыта с Йосемити это противоположное. – kakyo

+0

@Parag Bafna I Ваши команды с Xcode 6 на Yosemite, сам код, похоже, проходит. Но проверка говорит, что «вложенный код изменен или недействителен». И приложение, загруженное через HTTP, считается «поврежденным». – kakyo

Смежные вопросы