Всъщност ние използваме две MAC машини, за да разработим пакет в mac с помощта на xcode. Само един Mac има сертификат и той е в друга държава. експортирахме този сертификат за локален mac.но когато се опитвам да направя кодиране с помощта на този сертификат, получавам грешка като „Не можах да намеря подходяща идентичност за подписване за „Инсталатор на ИД на програмист: ИД“ Не мога да добавя кодовия дизайн. какви са стъпки за правилно импортиране на сертификат.
Как да импортирате ключодържател от една машина за разработка на друга
Отговори (1)
Това съобщение обикновено е показателно, че нямате частния ключ, необходим за подписване, а само сертификата, който е недостатъчен.
За експортиране на идентичности за подписване най-добре е да използвате панела за предпочитания за акаунти в Xcode.
- Стартирайте Xcode на машината, от която изпращате информацията за подписване
- Изберете Xcode > Предпочитания
- Изберете раздела Акаунти
- От менюто със зъбно колело изберете Експортиране на акаунти и изберете файла, в който искате да поставите информацията, и въведете парола
- Транспортирайте експортирания идентификационен файл до получаващата машина
- Следвайте стъпки 1-3 на приемащото устройство
- От менюто със зъбно колело изберете Импортиране на акаунти и изберете файла, който току-що сте донесли, като въведете паролата, когато бъдете попитани.
Това трябва да импортира цялата самоличност за подписване, включително сертификатите, профилите за осигуряване и личните ключове.
Чрез Keychain Access
Ако по някаква причина вашият Xcode на машината, от която изпращате информацията за подписване, няма изброени акаунти, може да подписвате със скрипт или от командния ред и да използвате информацията за самоличност, без да зареждате акаунтите директно в Xcode потребителски интерфейс. Ако е възможно, бих насърчил да добавите акаунта си към Xcode, като използвате раздела Акаунти, за да получите автоматичните поведения, които предоставя Xcode, но може да не е абсолютно необходимо, особено ако правите само ИД на програмист ( разпространение извън AppStore).
За да експортирате от Keychain Access, ще трябва да експортирате както подписващия сертификат, така и ключа. Сертификатът за подписване също е достъпен от портала за разработчици на Apple, но ключът никога не напуска вашата машина директно (само пръстов отпечатък от него се изпраща в CSR), така че ако оригиналният ключ не съществува на машина, до която вашата организация има достъп, може да се наложи да отмените съществуващия си ключ и да създадете нов.
За да намерите вашия ключ в Keychain Access, направете следното:
- Стартирайте Keychain Access
- Кликнете върху Моите сертификати
- Прегледайте списъка или използвайте полето за търсене, за да намерите сертификата си (Търсенето на
Developer ID
трябва да даде сертификати, свързани с ИД на програмист) - Всеки сертификат, който има свързан частен ключ, ще има триъгълник за разкриване вляво, щракнете върху него, за да разкриете ключовете
- Този ключ може да бъде експортиран, като изберете ключа и сертификата (уверете се, че и двата са избрани, или ги експортирайте един по един) и използвате Файл > Експортиране на елементи
- Въведете парола, когато бъдете подканени, за да защитите файла за експортиране
- Копирайте експортираните файлове на другата си машина
- Използвайте Keychain Access и File > Import Items, за да импортирате сертификата/ключа на новата машина
ЗАБЕЛЕЖКА: Ако загубите личния си ключ, ще трябва да отмените сертификата си, да генерирате нов ключ и да създадете нов сертификат за подписване. Не правете това, без първо да сте се уверили, че нямате налични копия на ключа. Конкретните последици зависят от вида на сертификатите, подписани с ключа, но ще трябва да генерирате отново всички сертификати, които са използвали предишния ключ.
xcodebuild
), тогава те може да не бъдат заредени в Xcode. Не е необходимо (и наистина не искате, освен ако не трябва) да експортирате от приложението Keychain Access, защото е трудно да намерите правилните неща там. Ще добавя малко повече информация към отговора си след минута, което може да помогне допълнително.
- person gaige; 28.05.2014