Приложение для Mac в песочнице со вспомогательным инструментом командной строки

Я получаю следующую ошибку при отправке моего приложения

Неверная подпись — основной пакет приложений MyApp по пути MyApp.app подписан, но подпись недействительна. От codesign поступили сообщения о следующих ошибках: запечатанный ресурс отсутствует или недействителен. В архитектуре: i386.

У меня есть небольшое консольное приложение, которое находится в папке «Ресурсы», ему вообще не нужны привилегии root. У меня нет исходного кода этого помощника, поэтому я не могу его пересобрать.

Если я удалю консольное приложение из своего пакета, ошибка исчезнет.

Что делает это вспомогательное приложение командной строки, так это то, что оно обрабатывает файл и создает новый на основе некоторой информации, переданной аргументами.

Итак, вопрос в том, как мы можем встроить инструменты командной строки в наше изолированное приложение и обойти вышеуказанную ошибку? Опять же, у меня нет исходного кода этого вспомогательного инструмента.


person Hausland    schedule 21.08.2013    source источник


Ответы (1)


У меня только что была эта проблема, и я смог решить ее, подписав приложение самостоятельно, используя код в терминале.

Вот как это сделать:

codesign --entitlements path/to/.entitlementsFile -s "3rd Party Mac Developer Application: Your Company (or whatever the name of your certificate is in your keychain)" ./TheNameOfTheTool

Надеюсь, это поможет!

person Lizza    schedule 28.09.2013