Rozwiązywanie wieloznaczności certyfikatu codesign przy użyciu wielu certyfikatów programistycznych

Ostatnio pracowałem dla innej firmy, budując dla nich aplikację na iPhone ' a. Kiedy dzieliłem czas rozwoju między ich biura, korzystając z ich komputerów i mojego biura, wygenerowałem klucz i podpisałem go jako część zespołu iPhone Dev Center"."

Miałem już konto Dev Center i własny certyfikat dewelopera. Po zaimportowaniu certyfikatu dla projektu klienta, podpisanie tej aplikacji daje mi Ostrzeżenie od codesign, że znajduje wiele certyfikatów pasujące "iPhone Developer: Steve Madsen", ale wybiera poprawny i podpisuje binarny.

Wracam teraz do jednego ze starszych projektów, używając własnego certyfikatu programisty. Codesign mówi mi, że nie może rozwiązać dwuznaczności między moim certyfikatem a tym, który jest używany dla mojego klienta:

iPhone Developer: Steve Madsen: niejednoznaczne (pasuje "iPhone Developer: Steve Madsen (9E69FVL37K)" i "iPhone Developer: Steve Madsen" w / Tomy / użytkownicy / steve / Biblioteka / Breloki / logowanie.brelok)

Certyfikat klienta jest tym z (9E69FVL37K), co, jak przypuszczam, jest w stanie dowiedzieć się, co się dzieje w projekcie mojego klienta.

Jak skonfigurować projekt Xcode, aby używał prawidłowej tożsamości? Wybranie określonego (Nie automatycznego selektora profilu) w Ustawieniach budowania docelowego nie pomaga.

Jeszcze lepiej, podczas gdy Apple przewidział, że deweloper może być członkiem wielu zespołów, I nie znalazłem dokumentacji, jak programista taki jak ja powinien skonfigurować moje środowisko. Wygenerowanie drugiego klucza / certyfikatu wydawało się jedynym sposobem, aby to zadziałało, ponieważ profile aprowizacji muszą być powiązane z certyfikatami w ramach portalu programu jednego zespołu. Czy ktoś ma dobre rady, jak sprawić, by ten proces działał sprawnie?

Author: Steve Madsen, 2009-11-10

3 answers

Wzięłam udział tego wieczoru i postanowiłam odwołać mój stary certyfikat i wygenerować nowy. Domyślam się, że Apple wydaje teraz wszystkie certyfikaty z sufiksem (hex-string).

Xcode jest wystarczająco inteligentny, aby zrobić właściwą rzecz. Wybieram "iPhone Developer" (wybór automatyczny) w Ustawieniach docelowych. Określa, który z moich kluczy powinien zostać użyty do podpisania pliku binarnego na podstawie profilu aprowizacji, a następnie mówi codesign, aby użył dokładnie tej tożsamości, włączając w to (hex-string) sufiks.

Założę się, że nowsi deweloperzy iPhone ' a nigdy nie zobaczą tego problemu, ponieważ wygenerowali swój pierwszy certyfikat po tym, jak Apple zaczęło dodawać sufiks.

Przypomnienie dla innych osób, które muszą to zrobić: należy również naprawić wszystkie istniejące profile Aprowizacji i ponownie je zainstalować.

 5
Author: Steve Madsen,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-11-13 02:09:53

Pracowałem do tej pory na 3 zespołach i używałem 3 oddzielnych kont iTunes, po jednym dla każdego (więc 3 oddzielne adresy e-mail). Wiem, że to nie brzmi jak optymalna sytuacja, zwłaszcza jeśli pracujesz nad większą liczbą zespołów.

Zastanawiam się jednak, czy może być inny sposób. Ponieważ jeśli możesz powiązać swoje konto iTunes (użytkownika centrum deweloperskiego iPhone ' a) z więcej niż jednym zespołem, co się stanie po zalogowaniu się do centrum deweloperskiego? Otrzymujesz wiele opcji do wpisz Wiele "iPhone Developer Progrma portale"?

 0
Author: Dimitris,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-11-12 20:29:37

Podziękowania dla Steve ' a Madsena za wskazanie tego.. Apple wydaje teraz wszystkie certyfikaty z przyrostkiem (HEXSTRING). Oznacza to, że jeśli posiadasz wcześniej certyfikat RUPERTO DE GUZMAN, musisz go odwołać z portalu programu - > certyfikaty. Następnie utwórz nowy certyfikat. Twój nowy certyfikat będzie teraz RUPERTO DE GUZMAN (Ezxxxxxxx).

Teraz codesign nie będzie już mylony z przedrostkami, ponieważ mamy:

Przed:

RUPERTO DE GUZMAN

RUPERTO DE GUZMAN (89xxxxxxx)

Po:

RUPERTO DE GUZMAN (EZxxxxxxx)

RUPERTO DE GUZMAN (89xxxxxxx)

 0
Author: Rupert,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-03-15 14:31:48