Отправка в Mac App Store продолжает давать "Неверная подпись" для установщика приложения
Я пытаюсь отправить приложение (используя Qt 5.4.2 (сомневаюсь, что это важно, но в том числе на всякий случай)) в Mac App Store, и по какой-то причине я продолжаю получать следующую ошибку:
Неверная подпись - эта ошибка возникает, когда вы неправильно подписали установщик приложения. Для этого процесса требуются два сертификата: сертификат "Стороннее приложение для разработчиков Mac" и сертификат "Сторонний установщик разработчика Mac". При подписании пакета вам необходимо убедиться, что вы используете сертификат Установщика для подписи вашего пакета. Убедитесь, что вы указываете этот сертификат при отправке приложения через Xcode Organizer или при запуске productbuild из командной строки.
Когда я был 10.10.4 с Xcode 6.4, я получал эту ошибку в Application Loader. После обычных поисков всем ссылкам, которые я смог найти, было 3-4 года. В одном из старых ответов кто-то упомянул, что обновление OSX и XCode исправило это для них, поэтому я понял, какого черта.
Я обновился до OSX 10.11.13 и компилирую с Xcode 7.2.1 (вместе с Application Loader 3.4 (902)), и сначала я подумал: "О, эй! Ошибка исчезла!" так как Application Loader больше не отображал его. Однако теперь я получаю ту же ошибку в электронных письмах (как показано выше), как только загрузчик приложений загрузит ее!
У меня есть скрипт на Python, который делает много вуду с копированием в каркасах Qt, исправляет ошибки и подписывает двоичные файлы, а затем последние две вещи, которые он делает, создает файл PKG и подписывает его. Сначала я сделал это в два отдельных шага. Для хихиканья я попытался добавить --sign
аргумент в productbuild
шаг, но я получил те же результаты. Команды выглядят так:
print ("Creating the PKG")
subprocess.call([r'/usr/bin/productbuild',
r'--component',
bundleFolder+ '/MyApp.app',
r'/Applications',
r'MyApp-Installer.pkg',
r'--sign',
r'3rd Party Mac Developer Installer: My Name (12345XXXX)',
])
#print ("Creating the Signed PKG")
#subprocess.call([r'/usr/bin/productsign',
# r'--sign',
# r'3rd Party Mac Developer Installer: My Name (12345XXXX)',
# r'MyApp-Installer.pkg',
# r'MyApp-Installer-Signed.pkg'
#])
Кроме того, FWIW, это первый раз, когда я пытался обновить приложение за год (я знаю:(), и это новая машина. Итак, я удалил сертификаты на портале для разработчиков (developer.apple.com), воссоздал и затем импортировал / установил / загрузил их. На самом деле, я делал это несколько раз, пытаясь понять это. В последний раз я создавал их через XCode. Так что Keychain Access выглядит так:
И мой взгляд на портале для разработчиков выглядит так:
Однако, еще одна вещь, которую я мог бы упомянуть (я не уверен, что это важно или нет), каждый раз, когда я добавляю эти новые сертификаты в Цепочку для ключей, делаю ли я это в Xcode или я создаю, загружаю и импортирую сертификат в основном, Мне пришлось щелкнуть правой кнопкой мыши по сертификату и перейти к "Информация" -> "Доверие" и изменить "Подписание кода" с "Не указано значение" на "Всегда доверять".
Я пытался дать много деталей в надежде, что кто-то может помочь мне точно определить, что я делаю неправильно. Если у кого-то есть какие-либо предложения или идеи, я был бы очень признателен!
1 ответ
Два возможных решения
Я столкнулся с этой проблемой дважды, каждый по разной причине.
Первый раз, когда я проверяю сертификаты в связке ключей, я обнаружил дубликаты сертификатов. Я удалил дубликаты (оставив те с самым длинным сроком годности), проблема решена.
Во второй раз я переключился на новый ноутбук в качестве машины для разработки, в моей цепочке для ключей нет соответствующих сертификатов. Я скачал их с https://developer.apple.com/account/mac/certificate/ и установил их, проблема решена.
Поэтому я думаю, что эта проблема связана с вашими сертификатами в цепочке для ключей. Просто убедитесь, что у вас есть правильный набор сертификатов, нет пропущенных, нет дубликатов, нет срока действия.