Nie można zbudować projektu XCode z linii poleceń, ale można z XCode

Stworzyłem w XCode prostą aplikację na iPhone ' a opartą na nawigacji. Aplikacja buduje i działa poprawnie pod XCode, ale nie mogę go zbudować z wiersza poleceń.

Z terminala wykonuję:

xcodebuild -project George.xcodeproj -alltargets -parallelizeTargets -configuration Debug build

Ale rozumiem ten błąd:

=== BUILD NATIVE TARGET George OF PROJECT George WITH CONFIGURATION Debug ===
Check dependencies
[BEROR]Code Sign error: The identity 'iPhone Developer' doesn't match any valid certificate/private key pair in the default keychain

** BUILD FAILED **


The following build commands failed:
    Check dependencies
(1 failure)
Czy jest coś nie tak ze sposobem, w jaki próbuję sobie z tym poradzić?
Author: mgamer, 2011-10-03

7 answers

Oprócz odblokowania pęku kluczy możesz również określić tożsamość codesign (lub ustawić ją w celu). Certyfikaty rozwojowe przyjmują formę "iPhone Developer: Company Inc", certyfikaty dystrybucyjne takie jak "iPhone Distribution: Company Inc".

xcodebuild -project George.xcodeproj -alltargets -parallelizeTargets -configuration Debug build CODE_SIGN_IDENTITY='iPhone Developer: Company Inc' 
 26
Author: Bryan,
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
2011-10-05 16:56:38

Najprawdopodobniej twój brelok jest zamknięty. Spróbuj odblokować go przed wykonaniem skryptu, możesz to zrobić z linii poleceń (tuż przed zbudowaniem):

security unlock -p YourPasswordToKeychain ~/Library/Keychains/login.keychain

Uwaga, używam breloka" login", który może być inny w Twoim przypadku

Również, jeśli to nie pomoże, spróbuj usunąć wszystkie inne parametry i po prostu zostaw smth w ten sposób:

xcodebuild -configuration Debug i wyczyścić przed xcodebuild -configuration Debug clean

 4
Author: Nick,
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
2011-10-03 18:22:47

Możesz zbudować z wiersza poleceń kompilację skierowaną do symulatora bez problemów z podpisaniem.

To rozwiązało dla mnie problem z podpisywaniem:

xcodebuild -sdk iphonesimulator

Źródło: xcodebuild code sign error: No matching codesigning identity found:

Jest to szczególnie przydatne, jeśli budowanie wiersza poleceń jest tam tylko po to, aby sprawdzić kod źródłowy w konfiguracji ciągłej integracji.

 4
Author: Stéphane Gourichon,
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-05-23 11:46:21

Używam shenzhen, pokazuje też ten błąd.

Okazuje się, że dzieje się tak, gdy podłączam iPada, ale nie ma go w profilu przepisu. Przejeżdżając --verbose do shenzhen. pokazuje:

Check dependencies
Code Sign error: No matching provisioning profiles found: None of the valid     provisioning profiles include the devices:
XXXX’s iPad
CodeSign error: code signing is required for product type 'Application' in SDK 'iOS 8.3'
Odłącz urządzenie, Wszystko działa dobrze...
 3
Author: Zitao Xiong,
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
2015-08-13 07:52:14

W zależności od przeznaczenia skryptu, może być również wystarczające wyłączenie podpisywania kodu w skrypcie, co można zrobić, ustawiając CODE_SIGN_IDENTITY= "

xcodebuild -project George.xcodeproj -alltargets -parallelizeTargets -configuration Debug build CODE_SIGN_IDENTITY='' 

Oczywiście nie jest to dobre, jeśli próbujesz zrobić ostateczną kompilację ze skryptu, ale może być dobrze, jeśli próbujesz zrobić testową kompilację dla ciągłej integracji(np. z Jenkins, aby upewnić się, że nikt niczego nie zepsuł).

 1
Author: Sam Deane,
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
2013-05-23 09:04:53

Miałem błąd archiwizacji podobny, ale nie do końca taki sam jak w oryginalnym poście:

** ARCHIVE FAILED **


The following build commands failed:
    Check dependencies
(1 failure)

Okazało się, że to brakująca usługa Aplikacji (w moim przypadku usługa/uprawnienie HealthKit), którą włączyłem w moim identyfikatorze aplikacji programistycznej, ale nie w identyfikatorze aplikacji produkcyjnej.

Włączasz usługi w Apple Member Center: https://developer.apple.com/account/ios/identifiers/bundle/bundleList.action

 1
Author: Kevin Qi,
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
2015-05-26 19:50:38

Można to naprawić w XCode 8.0 zmieniając z "iOS Distribution" do "iOS Development" w XCode. Wydaje się, że to nie powinno działać, ale z jakiegoś powodu tak.

 0
Author: Cory Trese,
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-11-04 14:48:28