Зависит от того, как вы получаете библиотеку.
Сборка в Xcode
При сборке в Xcode вы должны иметь возможность включить подпись и сообщить ей используйте Team
None
и Sign to Run Locally
все на панели Signing and Capabilities
проекта.
Подписание существующего dylib
Если вы не строите это в Xcode, и вы хотите подписать двоичный файл, который вы создали или получили каким-то другим способом, вам нужно будет использовать codesign
, который может быть довольно сложным.
Теоретически вы можете запустить codeignign используя любой сертификат, который был авторизован для подписи кода, и вы можете создать его с помощью самозаверяющего сертификата, но это является серьезной болью в шее и не обязательно приведет к успеху.
Xcode должен автоматически создайте сертификат подписи кода «Ma c Developer», если вы вошли на портал разработчика и позволили Xcode управлять идентификацией подписи для вас.
Вы можете проверить, что у вас есть удостоверение кодовой подписи, используя:
security find-identity -v -p codesigning
В этом списке перечислены все действительные идентификаторы кодовой подписи.
Подписание dylib
зависит от использования команды кодовой подписи:
codesign --force --timestamp --sign <name of certificate> <binary you want to sign>
Использование самозаверяющего сертификата для подписи кода
Примечание: это не рекомендуется, но оно работает для меня.
- Запуск доступа к цепочке ключей
- Выберите Доступ к Цепочке для ключей> Ассистент Сертификата> Создать сертификат ...
- Назовите свой сертификат простым для ввода
- Измените Тип сертификата на Кодовое обозначение
- Нажмите Создать
- Нажмите Продолжить после прочтения предупреждения
- Нажмите Готово после его завершения (и go обратно в Keychain Access)
- Найдите только что созданный сертификат в Keychain Access и дважды щелкните его, чтобы получить сведения
- Нажмите кнопку раскрывающий треугольник рядом с Доверие , чтобы раскрыть настройки доверия
- Установить Когда используется g этот сертификат - Always Trust
Теперь ваш самозаверяющий сертификат должен появиться при запуске вышеупомянутой команды security
, чтобы вывести список сертификатов подписи кодов. Если это так, вы, скорее всего, не установили Always Trust или тип сертификата на Подпись кода .
На этом этапе вы готовы выполнить команда подписи кода, а затем вы можете проверить, используя:
codesign -vvvv <path to dylib>