2015-07-27 17 views
6

Korzystanie z Xcode 7B4 i serwera 5B4 z projektem Carthage. Aby zbudować projekt, muszę najpierw zbudować jego zależności. Dodałem więc krok Przed integracją do bota z następującym kodem:Nie znaleziono identyfikatorów podpisywania kodu na serwerze Xcode

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

Uruchamiając to wszystko, wszystko działa. Ale kiedy bot uruchamia go dostaję

Code Sign error: No code signing identities found: No valid signing identities (i.e. certificate and private key pair) were found. 
CodeSign error: code signing is required for product type 'Framework' in SDK 'iOS 9.0' 
A shell task failed with exit code 65 

Sprawdzanie bot mam siebie jako zespół i skanowanie katalogów serwerów Wydaje się, że wszystkie wymagane pliki rezerw. Zgaduję więc, że użytkownik serwera nie ma dostępu do kluczy lub czegoś w tym stylu.

Czy ktoś ma pojęcie, czego może mi brakować?

+0

Wpadłem na coś podobnego do strąków kakao, nie jestem pewien, jak robi to Kartagina, ale strąki kakao stworzyły ramy, które również musiały być podpisane i zaopatrzone w kod. Nie wiem, czy masz już skonfigurowane, czy nie – bolnad

+0

Dzięki za odpowiedź. Jedną z największych zalet Kartaginy jest to, że w ogóle nie zadaje ona twojego projektu. Zarządza i buduje tylko zależności. Daje ci to całkowitą swobodę, jak włączyć nasz kod. W przeciwieństwie do CocoaPods, który tupie po wszystkim. Ponieważ Carthage tworzy każdy projekt indywidualnie, podpisywanie kodu odbywa się na podstawie projektu w oparciu o projekt. Sądzę więc, że jest to kwestia bardziej ogólna niż specyficzna dla Kartaginy. – drekka

+0

ciekawe, będę musiał wypróbować to na jednym z moich projektów – bolnad

Odpowiedz

-2

To bardzo proste. Przejdź do Preferencji XCode -> Konta -> Kliknij swój Apple ID i naciśnij przycisk Wyświetl szczegóły Naciśnij Odśwież na końcu naciśnij Gotowe. Będzie dobrze. enter image description here

+0

Nie, to nie rozwiąże problemu. To nie jest problem XCode. – drekka

12

Miałem podobny problem. Rozwiązaniem dla mnie było:

  1. Od Xcode na lokalnym komputerze, otwarty Preferences ->Accounts -> kliknij dwukrotnie w zespole związanym z Apple ID (trzeba jeden :)) -> w Signing identity panel, wybierz tożsamość i kliknij ikonę zębatki na export. Zapisz to w pliku.
  2. Prześlij wygenerowany .p12 plik do maszyny budowlanej i dodać go do Systemu pęku kluczy (nie do użytkownika) poprzez przeciągnięcie go do Dostęp do pęku kluczy okno
  3. Na maszynie budowlanej Dostęp do pęku kluczy, przejdź do certyfikatu (ów), który właśnie zainstalowałeś (powinien on być pod System ->Certificates) i kliknij strzałkę obok nazwy, aby rozwinąć i zobaczyć klucz prywatny. Kliknij prawym przyciskiem myszy kartę ->Get info ->Access control i zezwól wszystkim aplikacjom na dostęp do tego elementu (prawdopodobnie niebezpieczne) lub dodaj aplikację codesign do listy aplikacji, które mogą korzystać z tego klucza.
  4. Upewnij się, że Serwer na komputerze kompilowanym, sekcja XCode jest włączona i dodana do odpowiedniego zespołu programistycznego dla tego certyfikatu.
+0

Wygląda na to, że nowy Xcode (7 Beta 4) nie obsługuje eksportowania tożsamości iz jakiegoś powodu nie pojawiają się już w pęku kluczy. Hmmm .... – drekka

+1

W Xcode 7 oferuje nową opcję "Eksportuj konta programistów". Utworzony plik jest plikiem ZIP, który można wyodrębnić, aby wyświetlić wyeksportowane profile i certyfikaty. Czy ktoś wie, jak zaimportować ten plik na serwerze Xcode? – Awsed

+0

@Awses po prostu dodaje te elementy do pęku kluczy? – Marco83

1

Wystąpiły podobne problemy z botami Xcode Server i podpisywaniem kodu. Używam serwerów 5.1 i Xcode 7.3. Co ostatecznie pomogły mi pracować przez nich tego blogu: http://matt.vlasach.com/xcode-bots-hosted-git-repositories-and-automated-testflight-builds/

Mianowicie, części słupka najbardziej przydatne były:

  1. Upewnij się, że profile rezerw są kopiowane do katalogu Xcode Server znajduje się pod adresem: /Library/Developer/XcodeServer/ProvisioningProfiles/ Serwer Xcode nie widzi profili automatycznie pobieranych przez Xcode z portalu dla programistów pod numer ~/Library/MobileDevice/Provisioning Profiles. Możesz je skopiować na miejsce lub ręcznie pobrać z internetu i przenieść.
  2. Upewnij się, że klucz podpisu (klucz prywatny) i certyfikat znajdują się w pęku kluczy System. Ponownie, Xcode tworzy je w kontekście konta użytkownika. Jeśli wygenerowałeś je za pomocą Xcode na serwerze, po prostu skopiuj je ze swojego pęku kluczy do systemu zaloguj się do System. Jeśli importujesz z innego komputera za pomocą .p12, upewnij się, że zaimportowałeś do łańcucha kluczy System w Dostępie do pęku kluczy.

Aby uzyskać więcej informacji, sprawdź ten post na blogu. Naprawdę mi pomógł.

Powiązane problemy