Идентичностите за подписване на код не са намерени в Xcode сървъра

Използване на Xcode 7B4 и сървър 5B4 с проект Carthage. За да изградя проекта, трябва първо да изградя неговите зависимости. Така че добавих стъпка преди интегриране към бота със следния код:

echo "Bootstrapping dependencies..."
export PATH=$PATH:/usr/local/bin
cd Alchemic
carthage bootstrap --use-ssh --use-submodules
echo "Ready."

Като стартирам това сам, всичко работи. Но когато ботът го стартира, получавам това:

Грешка в CodeSign: Не са открити самоличности за подписване на код: Не са намерени валидни самоличности за подписване (т.е. двойка сертификат и частен ключ).
Грешка в CodeSign: изисква се подписване на код за продукта въведете „Framework“ в SDK „iOS 9.0“
Задача на обвивката е неуспешна с изходен код 65

Проверявайки бота, който имам като екип, и сканирайки директориите на сървърите, изглежда има всички необходими файлове за осигуряване. Така че предполагам, че потребителят на сървъра няма достъп до ключовете или нещо подобно.

Някой има ли идея какво може да ми липсва?


person drekka    schedule 27.07.2015    source източник
comment
Сблъсках се с нещо подобно с какаовите шушулки, не съм сигурен как го прави Carthage, но какаовите шушулки създадоха рамки, които също трябваше да бъдат подписани с код и осигурени. Не съм сигурен дали вече сте го настроили или не   -  person bolnad    schedule 01.08.2015
comment
Благодаря за отговора Едно от страхотните неща на Carthage е, че изобщо не се забърква с вашия проект. Той само управлява и изгражда зависимости. Така че ви оставя пълна свобода как да включите нашия код. За разлика от CocoaPods, които тъпчат всичко. Тъй като Carthage изгражда всеки проект поотделно, подписването на код се обработва за всеки проект по проект. Така че мисля, че това е по-скоро общ проблем, отколкото специфичен за Картаген.   -  person drekka    schedule 05.08.2015
comment
интересно, ще трябва да го изпробвам в някой от моите проекти   -  person bolnad    schedule 05.08.2015
comment
да Голям фен на Картаген сега. Може да не е толкова добро за хора, които не са запознати с работата с рамки. Но работи добре в няколко проекта, които имам. Също така, той може да създава .gitsubmodule файлове, което прави управлението на git проекти наистина лесно.   -  person drekka    schedule 05.08.2015


Отговори (4)


Имах подобен проблем. Решението за мен беше:

  1. От Xcode на вашата локална машина отворете Preferences -> Accounts -> щракнете двукратно върху екипа, свързан с вашия Apple ID (имате нужда от такъв :) ) -> в панела Signing identity изберете самоличност и щракнете иконата на зъбно колело към export. Запазете това във файл.
  2. Качете генерирания .p12 файл на вашата компилираща машина и го добавете към Системния ключодържател (не към този на потребителя), като го плъзнете към Достъп до ключодържателя прозорец
  3. На компилиращата машина Keychain Access отидете до сертификата(ите), който току-що сте инсталирали (трябва да е под System -> Certificates) и щракнете върху стрелката до името, за да разгънете и видите личния ключ. Щракнете с десния бутон върху ключа -> Get info -> раздел Access control и или разрешете на всички приложения достъп до този елемент (вероятно опасно), или добавете приложението codesign към списъка с приложения, на които е разрешено да използват този ключ
  4. Уверете се, че на Сървъра на компилиращата машина разделът XCode е активиран и добавен към съответния екип за разработка за този сертификат.
person Marco83    schedule 03.08.2015
comment
Изглежда, че новият Xcode (7 Beta 4) не поддържа експортиране на самоличностите и по някаква причина те вече не се показват в ключодържателя. Хммм.... - person drekka; 05.08.2015
comment
В Xcode 7 предлага нова опция Export Developer Accounts. Създаденият файл е zip файл, който можете да извлечете, за да видите експортираните профили за осигуряване и сертификати. Някой знае ли как да импортира този файл на Xcode сървъра? - person Awsed; 25.09.2015
comment
@Awsed просто да добавите тези елементи към ключодържателя? - person Marco83; 09.10.2015
comment
Благодаря - Добавянето на p12 файл към ключодържателя SYSTEM ми помогна с грешката в кодовия знак на моята xcode сървърна машина. Благодаря много! - person f0rz; 27.01.2016

Сблъсках се с подобни проблеми с ботове на Xcode Server и подписване на код. Работя със сървър 5.1 и Xcode 7.3. Това, което в крайна сметка ми помогна да се справя с тях, беше тази публикация в блога: http://matt.vlasach.com/xcode-bots-hosted-git-repositories-and-automated-testflight-builds/

А именно, най-полезните части от публикацията бяха:

  1. Уверете се, че вашите профили за осигуряване са копирани в директорията на Xcode Server, намираща се на: /Library/Developer/XcodeServer/ProvisioningProfiles/ Xcode Server не може да види профилите, които Xcode автоматично изтегля от портала за разработчици към ~/Library/MobileDevice/Provisioning Profiles. Можете или да ги копирате на място, или ръчно да ги изтеглите от мрежата и да ги преместите.
  2. Уверете се, че ключът за подписване (личен ключ) и сертификатът са в ключодържателя Система. Отново Xcode ги създава в контекста на вашия потребителски акаунт. Ако сте ги генерирали с Xcode на сървъра, просто ги копирайте от ключодържателя си за влизане в Системния такъв. Ако импортирате от друг компютър с помощта на .p12, уверете се, че импортирате в ключодържателя System в Keychain Access.

За повече подробности вижте публикацията в блога. Наистина ми помогна.

person Mark Suman    schedule 17.08.2016

Ако изглежда, че никой от другите отговори не работи, уверете се, че сте избрали най-новия Command Line Tools.

Предпочитания на Xcode -› Местоположения -› Инструменти за команден ред

Екранна снимка на инструментите на командния ред

person ZGski    schedule 21.07.2020

Много е лесно. Отидете на XCode Preferences -> Accounts -> Щракнете върху вашия Apple ID и натиснете бутона View Details Натиснете Refresh накрая натиснете Done. Ще бъде наред. въведете описание на изображението тук

person Waruna    schedule 27.07.2015
comment
Не, това не решава проблема. Това не е проблем с XCode. - person drekka; 27.07.2015