2013-03-21 11 views
5

CodeSigningJaki jest sens podpisywania kodu "Debugowanie" lub "Zwolnij" w XCode?

Odnosząc się do rysunku, ja nie rozumiejąc, co to jest punkt mający możliwość podpisania „Debug” lub „Release”, jeśli nie ma sensu jak mam próbować badań. Jedyne, co powinniśmy podpisać, to "Any iOS SDK". Zrobiłem także binarną różnicę, aby sprawdzić, czy podpisywanie Debug and Release nie tworzy żadnej różnicy w pliku _CodeSignature/CodeResources.

Ktoś?

+1

Czy debugowałeś na urządzeniu bez znaku kodu? – Spire

+0

Tak, działa, nawet jeśli nie koduję podpisania tylko debugowania. Jednak pakiet SDK Any iOS musi zostać podpisany, aby mógł działać. Ale to jest pytanie, po co jest to Debugowanie? – mskw

Odpowiedz

9

Aby uruchomić dowolną aplikację na urządzeniu, musi zostać podpisane przez autoryzowanego programistę i zawierać poprawny profil informacyjny (podpisany przez Apple), zezwalający na uruchamianie na urządzeniu.

W celu dołączenia debuggera do aplikacji (lub korzystania z Instrumentów) profil informacyjny musi zawierać uprawnienia, które na to pozwalają.

Profile i certyfikaty udostępniania "rozwoju" generowane w portalu umożliwiają wykonanie tego debugowania, podczas gdy profile wersji (dla sklepu z aplikacjami) wyłączają to. Z tego powodu masz zarówno konfiguracje "Release", jak i "Debugowanie" dla projektu, z których każdy ma wybrane inne profile udostępniania/tożsamości.

Część "Any iOS SDK" jest po prostu sposobem na dalszą zmianę ustawień kompilacji w oparciu o środowisko kompilacji. Na przykład możesz chcieć zmienić ustawienie kompilatora podczas działania na symulatorze (aby wyłączyć/włączyć niektóre funkcje testowe).

Z technicznego punktu widzenia ta część "Any iOS SDK" nie jest wymagana dla tożsamości podpisu, a żadne inne ustawienia kompilacji nie mają tego dodatkowego pola domyślnie podczas tworzenia projektu iOS. Możesz nawet być w stanie go usunąć, ale nie jestem pewien, czy Xcode będzie się zachowywał.

+0

Dlaczego to debugowanie dla mnie, jeśli umieścić "Do not Code Sign" do debugowania? – mskw

+0

Nie jestem pewien, czy dobrze rozumiesz moje pytanie, pytam, dlaczego nadal działa, gdy nie koduję znaku do debugowania? (Nie mam na myśli debugowania Any IOS SDK, miałem na myśli tylko Debugowanie). – mskw

+0

Ponieważ ustawienie "Any IOS SDK" jest uruchamiane i zastępowane ustawieniem parent (Debug). –

Powiązane problemy