Ошибка сегментации: 11 при попытке кодирования .app

Мне не удалось найти определение этой ошибки в отношении кодовой привязки. Я действительно сильно обеспокоен тем, что делать.

Ошибка при попытке выполнить эту командную строку:

codesign -s "Developer ID Application: Name (ID)" -fv --deep Application.app/

Система:

XCode 6.2 на Yosemite 10.10.3

Я переустановил XCode, но все равно не повезло. Это для настольного приложения.

Извините, если это глупый вопрос!

Ответ 1

Решение, которое я нашел на форуме Apple, работал у меня: во-первых, запустите следующую команду, чтобы найти свой идентификатор hex ID:

$ security find-identity -v
1) A048017A43F8C9C993128B0101B81CD07049601E "lldb_codesign"
...

Затем вы можете использовать этот шестнадцатеричный идентификатор для подписи:

codesign -s A048017A43F8C9C993128B0101B81CD07049601E /usr/local/bin/gdb

Некоторые другие советы, которые я встретил, отлаживая это:

  • Вы должны указать полный путь к двоичному (/usr/local/bin/gdb, а не только gdb). Он не будет смотреть на PATH, я предполагаю по соображениям безопасности.
  • Вам нужно запустить код как root, если каталог, в котором находится ваш двоичный файл, не принадлежит пользователю.

Ответ 2

передача --timestamp=none, похоже, приводит к сбою.

Ответ 3

Я столкнулся с этим в Xcode 8.3.2, когда я случайно попал с дубликатами моих сертификатов подписи. @kristina ответ дал мне подсказку; $ security find-identity -v показал мне две записи с одинаковыми хэшами. Я исправил это, удалив первый сертификат в списке с этим хешем:

$ sudo security delete-certificate -Z <SHA hash>