Tworzenie aplikacji iOS przy użyciu xcodebuild bez codesign

Budujemy aplikację dla innej firmy. Trzymają klucz do podpisu i wolą nie dzielić się nim z nami.

Powinno być możliwe oddzielenie build I sign, ale jak to określić w linii poleceń xcodebuild?

Author: Peter Mortensen, 2012-06-14

4 answers

Aby pominąć podpisywanie kodu, możesz wykonać manualną kompilację z konsoli w następujący sposób:

xcodebuild clean build CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO

Dodatkowo, użyj -configuration, -target i -sdk parametry w celu zdefiniowania ustawień budowania.

Zapoznaj się z ta odpowiedź przepełnienia stosu , aby uzyskać szczegółowy opis jak wyłączyć podpisywanie kodu wewnątrz Xcode.

 107
Author: Joern,
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
2018-07-28 21:14:59

Aby całkowicie zapobiec podpisywaniu kodu za pomocą Xcode 7, użyłem wszystkich następujących opcji:

CODE_SIGN_IDENTITY=""
CODE_SIGNING_REQUIRED="NO"
CODE_SIGN_ENTITLEMENTS=""
CODE_SIGNING_ALLOWED="NO"

Ostatnia opcja, CODE_SIGNING_ALLOWED="NO" zdawała się działać.

 9
Author: Ben Flynn,
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
2016-10-06 16:55:44

Niestety może być trudno zbudować aplikację w trybie wydania bez podpisywania kodu. Otrzymasz błędy z systemu budowania, takie jak:

CodeSign error: code signing is required for product type 'Application' in SDK
                'iOS 5.1'

W tym przypadku powinieneś skonfigurować swój cel tak, aby używał swojej tożsamości podpisywania programisty/zespołu ( * ) w trybie wydania. Aplikacja zostanie podpisana z tym, gdy ją zbudujesz, i możesz wysłać ją do klienta, aby mógł ją zrezygnować. To właśnie robi większość naszych zewnętrznych programistów.

Możesz wtedy usunąć informacje podpisywania kodu usuwając różne pliki w aplikacji, takie jak _CodeSignature i używając narzędzia codesign, aby usunąć informacje z pliku binarnego aplikacji. Ale nie wiem, jakie to proste. Nie jest to jednak konieczne. W profilu tworzenia i podpisywania nie ma żadnych poufnych informacji.

 8
Author: Mike Weller,
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
2012-06-14 13:57:32

W Nawigatorze projektów wybierz swój projekt i otwórz sekcję "Ustawienia budowania" swojego projektu (a nie żadnego konkretnego celu).

W sekcji "podpisywanie kodu" znajdź "tożsamość podpisywania kodu", a dla trybów debugowania i wydawania Ustaw "dowolny zestaw SDK iOS" na "nie podpisuj kodu".

 3
Author: user3672430,
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
2017-12-28 23:29:30