Как подписать код приложения MacOS для непрерывной интеграции - PullRequest
0 голосов
/ 21 апреля 2020

Шаги, которые я сделал:

  1. Создан новый пустой проект Xcode для моего приложения MacOS
  2. создан файл .travis.yml для настройки CI
  3. push неотредактированный проект Xcode для моего репозитория GitHub
  4. Трэвис начал создавать мой проект, но выдает ошибку:

    Нет сертификата для подписи "Ма c Разработка "найдено: нет подписи" Ma c Development "Идентификатор соответствия сертификата" XXXXX "с закрытым ключом найден

My .travis.yml:

os: osx
language: swift
osx_image: xcode11.3
script: xcodebuild clean build test -project MyApp.xcodeproj -scheme "MyApp" -sdk "macOS 10.15" -destination "platform=macOS" ONLY_ACTIVE_ARCH=NO

Я попробовал трюк с отключением подписи кода ({ ссылка }), но это больше похоже на взлом. Но я хочу чистого решения.

Однако XCode подписывает мой код, а Тревис - нет. Как разрешить подписывать приложение MacOS на Travis CI ? Кстати, у меня есть только бесплатная учетная запись разработчика Apple, поэтому я не могу загрузить сертификаты с https://developer.apple.com

1 Ответ

1 голос
/ 21 апреля 2020

Сборки, подписанные с бесплатными учетными записями Apple Developer, не будут работать на компьютерах, которые не подключены к вашей учетной записи разработчика. Вам понадобится платная учетная запись разработчика для подписи программного обеспечения с использованием либо идентификатора разработчика (вне магазина приложений), либо для магазина приложений.

При этом для macOS (но не для iOS / tvOS / et c) ваш двоичный файл, созданный с помощью CI, может быть запущен кем-то, кто загружает его на компьютер с отключенным гейткипером (до 10.15 и только не рекомендуется ) или с помощью команды File> Open или команду контекстного меню Открыть для запуска приложения (с предупреждением).

В средах CI довольно распространено создание без подписей, а затем добавление подписи позже (это предотвращает случайную доставку бинарный файл, который не прошел, например, финального тестирования или позволяет компании ограничивать, кто может создавать официальные двоичные файлы и при каких обстоятельствах).

Понятно, что без сертификата и ключа подписи вы не сможете подписать заявление.

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