Сборка приложений MacOS и подпись для развертывания на других машинах

У меня возникло несколько проблем при развертывании подписанного установщика для MacOS.

Прежде всего, что я делаю:

1) У меня есть проект C++ на основе qt, который я создаю с помощью qt creator;

2) Используя Packages.app, я создаю установщик myProject.pkg для моего проекта;

3) Я подписываю сертификатом приложения драйвер USB.mpkg:

codesign -f -s "Developer ID Application: <name>" USBDriver.mpkg/

4) Я подписываю вспомогательный установщик и мой проект myProject.pkg:

productsign --sign "Developer ID Installer: <name>" helper.pkg signedHelper.pkg
productsign --sign "Developer ID Installer: <name>" myProject.pkg mySignedProject.pkg

5) Проверяю подпись на файлах:

pkgutil --check-signature USBDriver.mpkg/
pkgutil --check-signature signedHelper.pkg
pkgutil --check-signature mySignedProject.pkg

вывод для всех файлов:

Status: signed by a certificate trusted by Mac OS X

6) Затем я создаю installer.app из сценария, который просто вызывает 3 установщика с помощью Platytus Script:

open -W packages/USBDriver.mpkg/
open -W packages/signedHelper.pkg
open -W packages/mySignedProject.pkg

где папка пакетов с подписанными установщиками включена в "пакетные файлы" platypus

7) Я тоже подписываю installer.app и проверяю сертификат:

codesign -f -s "Developer ID Application: <name>" installer.app/
pkgutil --check-signature installer.app/

выход:

Status: signed by a certificate trusted by Mac OS X

8) Наконец, я заархивировал файл installer.app вместе с файлом README.txt.

Теперь, пока я разархивирую машину, на которой я выполнял весь процесс, все в порядке: разархивируйте правильно,.app работает, каждый установщик работает правильно, а в правом верхнем углу замка отображается правильный действительный сертификат.

Однако, когда я отправляю.zip коллеге, когда он распаковывает его и дважды щелкает файл installer.app, он получает уведомление о том, что.app поврежден. Более того, если он извлекает ресурсы и запускает их, USBDriver.mpkg/ не может быть запущен, потому что он не принадлежит доверенному разработчику.

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

Примечание. Как вы уже догадались, я не специалист по Mac OS, поэтому, пожалуйста, предоставьте как можно больше подробностей о предлагаемых решениях.

Примечание 2: я работаю на Macbook Air с OS X El Capitan 10.11.5, но эта информация должна быть неактуальной, потому что мое приложение должно быть запущено на обычном компьютере Mac OS (по крайней мере, на самых последних)

Заранее спасибо за любую помощь

ОБНОВЛЕНИЕ: если я передаю installer.app без архивирования (прошло некоторое время, так как мой коллега работает в другой стране), все отлично работает на другой машине...

0 ответов

Другие вопросы по тегам