2016-09-11 26 views
15

Hullo,Xcode 8.0 Automatycznie zarządzaj sposobem podpisywania

Przez pewien czas korzystałem z opcji Automatycznie zarządzaj podpisami. Jednak kiedy robię to w najnowszej wersji Xcode 8.0, zmuszam mnie do używania kodu identyfikacyjnego autora kodu nawet do wydania i dystrybucji w Ustawieniach budowania, co jest dość dziwne per se. A kiedy przesyłam relatywny plik binarny, otrzymuję od Apple wiadomość o bałaganie z informacją o braku powiadomienia Push. Aby to naprawić, wyłączyłem opcję automatyczną i zwrócono mi ręcznie, określając profile, co pozwoliło mi zachować profil dystrybucji w ustawieniu budowania dystrybucji i zapisać mi wiadomość ostrzegawczą od Apple.

Dlaczego automatyczne zarządzanie działa w ten sposób i co należy zrobić, aby dostosować jego zachowanie?

Odpowiedz

44

Wraz z wydaniem Xcode 8, firma Apple wprowadziła nowy sposób zarządzania konfiguracją podpisywania. Teraz masz dwie opcje: Manual i Automatic.

Ten nowy Automatic Signing nie działa tak samo, jak w poprzednich wersjach Xcode. Wcześniej, po ustawieniu Automatic profili udostępniania, Xcode używał pierwszego profilu informacyjnego i certyfikatu na komputerze, który pasuje do identyfikatora uprawnień i identyfikatora pakietu, z którego próbujesz skorzystać.

W Xcode 8, Automatic Signing będzie zarządzać profilami, uprawnieniami i certyfikatami dla ciebie, ale tylko dla Development. Jeśli wybierzesz opcję automatyczną, będziesz musiał użyć Development signing i profili udostępniania utworzonych przez Xcode.

Na stronie WWDC 2016 (Session 401 - What's new in Xcode app signing) objaśniają tę nową metodę podpisywania i opisują niektóre "najlepsze praktyki". Kiedy budujesz do dystrybucji i używasz Automatic Signing lub Manual powinieneś Archiwum dla Development, a następnie wyeksportować (z organizera lub narzędzia wiersza poleceń xcodebuild -exportArchive) jako Distribution. Organizator ponownie podpisze Twoją aplikację pod kątem Distribution, nawet jeśli została zarchiwizowana pod kątem Development.

Inną kwestią, którą opisujesz, "Brak powiadomienia Push Notification", jest fakt, że Xcode 8 zmienił sposób, w jaki stosuje się do uprawnień. W poprzednich wersjach Xcode nie musieli Państwo jawnie dodawać uprawnienia APS Environment, wystarczyło, że profil zapewniający to uprawnienie. Upewnij się, że masz włączoną opcję Push Notification na karcie i sprawdź, czy nie ma tam błędów.

(Edit: To nowe zachowanie jest celowe i opisane w Xcode 8 Release Notes: https://developer.apple.com/library/content/releasenotes/DeveloperTools/RN-Xcode/Introduction.html#//apple_ref/doc/uid/TP40001051-CH1-DontLinkElementID_44)

Xcode 8 nie automatycznie skopiować APS-środowiskowe uprawnienie z zastrzegania profile w czasie kompilacji. To zachowanie jest zamierzone. Aby użyć tego uprawnienia, włącz Powiadomienia push w okienku Możliwości edytora projektu lub ręcznie dodaj uprawnienie do pliku uprawnień. (28076333)

+0

Tak, w rzeczywistości zdolność powiadamiania była dziwnie czerwona. Nacisnąłem przycisk i też się dostałem. Dziwne zachowanie. Myślę, że będę musiał przesłać plik binarny, tak jak to się dzieje bez powiadomień. W każdym razie Apple nie odrzucił mojego pliku binarnego. –

+1

@pablobart, czy to normalne, że uprawnienia mają wartość "Uprawnienia APS -> rozwój" po naciśnięciu przycisku wydania problemu w Zdolnościach? Myślę o wartości dystrybucji. – gaussblurinc

+1

Oto wideo WWDC 2016 Session 401: https://developer.apple.com/videos/play/wwdc2016/401/ –