Подпись кода приложения appleScript не работает при настройке пользовательского значка приложения - PullRequest
0 голосов
/ 07 ноября 2018

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

Обычный способ установки пользовательского значка приложения - сделать show package contents для файла приложения в Finder, а затем заменить файл applet.icns в Contents/Resources на пользовательский значок. Проблема в том, что это нарушает сигнатуру хеш-ключа от подписи кода. Это должно быть потому, что подпись рассчитывается для всего пакета, а не только для скомпилированных двоичных файлов. Когда вы попытаетесь запустить свое приложение в зависимости от контекста, вы, вероятно, получите ошибку code signature invalid, и macosx откажется запускать приложение.

Таким образом, чтобы избежать этой проблемы, вам нужно как-то указать значок пользовательского приложения перед сборкой пакета приложения, а не «подделывать» подписанный пакет.

Если кто-нибудь знает способ сделать это, дайте мне знать.

выдержка из отчета о проблеме:

Exception Type:        EXC_CRASH (Code Signature Invalid)
Exception Codes:       0x0000000000000000, 0x0000000000000000
Exception Note:        EXC_CORPSE_NOTIFY

Termination Reason:    Namespace CODESIGNING, Code 0x1

1 Ответ

0 голосов
/ 08 ноября 2018

Может быть, это может помочь: Поместите свой значок в папку Resources под другим именем, т.е. myAppIcon.png или myAppIcon.icns

Проверьте info.plist и измените строковое значение с ключа CFBundleIconFile следующим образом:

<key>CFBundleIconFile</key>
<string>myAppIcon</string>

или

<key>CFBundleIconFile</key>
<string>myAppIcon.icns</string>

Должно работать даже без суффикса файла. После этого создайте и подпишите свое приложение!

Наслаждайтесь, Майкл / Гамбург

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...