Falha do Xcode ao atualizar perfis de provisionamento

118

Não consigo atualizar meus perfis de provisionamento no Xcode sem travar. Cada vez que pressiono o botão Atualizar no organizador, ele trava e recupero esta linha do log de erros:

UNCAUGHT EXCEPTION (NSInvalidArgumentException): *** setObjectForKey: object cannot be nil (key: teamId)

Verifiquei meu timeId, mas não encontrei nada incomum. Alguém tem alguma ideia do que está causando meu problema? Isso costuma funcionar para mim sempre que atualizo meus perfis. Até fiz isso esta manhã umas 10 vezes.

EDITAR:

Aqui está o relatório do acidente, se necessário:

Process:         Xcode [1136]
Path:            /Applications/Xcode.app/Contents/MacOS/Xcode
Identifier:      com.apple.dt.Xcode
Version:         4.6.1 (2067)
Build Info:      IDEApplication-2067000000000000~2
App Item ID:     497799835
App External ID: 14581035
Code Type:       X86-64 (Native)
Parent Process:  launchd [272]
User ID:         501

Date/Time:       2013-03-15 15:21:43.906 +0100
OS Version:      Mac OS X 10.8.3 (12D78)
Report Version:  10

Interval Since Last Report:          14773 sec
Crashes Since Last Report:           9
Per-App Interval Since Last Report:  14523 sec
Per-App Crashes Since Last Report:   7
Anonymous UUID:                      E5C08B95-3313-ABC3-6BB7-F22E76735A98

Crashed Thread:  2  Dispatch queue: NSManagedObjectContext Queue

Exception Type:  EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000

Application Specific Information:
ProductBuildVersion: 4H512
UNCAUGHT EXCEPTION (NSInvalidArgumentException): *** setObjectForKey: object cannot be nil (key: teamId)
UserInfo: (null)
Hints: None
Backtrace:
  0  0x00007fff92639aee __exceptionPreprocess (in CoreFoundation)
  1  0x00007fff98d703f0 objc_exception_throw (in libobjc.A.dylib)
  2  0x00007fff926c85b7 -[__NSDictionaryM setObject:forKey:] (in CoreFoundation)
  3  0x0000000107d42d88 +[DTDKTeamBasedService _createRequestDictionaryForTeam:andPlatform:] (in DTDeviceKit)
  4  0x0000000107d45315 +[DTDKDownloadProvisioningProfileService serviceForTeam:andPlatform:andProfileID:withError:] (in DTDeviceKit)
  5  0x0000000107d6e1c0 +[DTDKDownloadProvisioningProfileService serviceForProvisioningProfileRecord:withError:] (in DTDeviceKit)
  6  0x0000000107d73728 __72+[DTDKPortalDatabase _refreshFromProvisioningProfileListServices:error:]_block_invoke (in DTDeviceKit)
  7  0x00007fff9429d4dc developerSubmittedBlockToNSManagedObjectContextPerform (in CoreData)
  8  0x00007fff9429d40a -[NSManagedObjectContext performBlockAndWait:] (in CoreData)
  9  0x0000000107d73246 +[DTDKPortalDatabase _refreshFromProvisioningProfileListServices:error:] (in DTDeviceKit)
 10  0x0000000107d75816 __56+[DTDKPortalDatabase refresh:parentWindow:withCallback:]_block_invoke_5 (in DTDeviceKit)
 11  0x00007fff942cd7cf developerSubmittedBlockToNSManagedObjectContextPerform_privateasync (in CoreData)
 12  0x00007fff90dd20b6 _dispatch_client_callout (in libdispatch.dylib)
 13  0x00007fff90dd347f _dispatch_queue_drain (in libdispatch.dylib)
 14  0x00007fff90dd32f1 _dispatch_queue_invoke (in libdispatch.dylib)
 15  0x00007fff90dd31c3 _dispatch_worker_thread2 (in libdispatch.dylib)
 16  0x00007fff964d4d0b _pthread_wqthread (in libsystem_c.dylib)
 17  0x00007fff964bf1d1 start_wqthread (in libsystem_c.dylib)

objc[1136]: garbage collection is ON
abort() called
.....
[The report itself is very large and contains much more than this]
Mark Molina
fonte
1
Eu tenho o mesmo problema
Andrew Tetlaw
4
Eu comecei a receber esse erro hoje também.
nh32rg
11
Não vejo por que essa questão deve ser encerrada? Está relacionado à programação e ao desenvolvimento de software, já que o xcode é uma ferramenta para escrever software.
Dallas Clark,
5
Você pode contornar o problema baixando manualmente seus certificados e perfis de provisionamento em developer.apple.com
Dallas Clark
2
o mesmo para mim. Fiz algumas alterações, adicionando / removendo certificado e chaves. depois disso, estou tendo esse problema. de manhã o xcode 4.6.1 é atualizado.
karim

Respostas:

179

Remova este arquivo:

~/Library/Developer/Xcode/connect1.apple.com 4.6.1.db

antes de executar o Xcode 4.6.1.

Godfrey Chung
fonte
Isso consertou para mim.
Ricardo Sanchez-Saez
1
perfeito, havia dois arquivos que removi "connect1.apple.com 4.6.1.db" foi atualizado na mesma manhã em que o problema começou.
Jim True,
7
Esta é a solução alternativa oficial da Apple: devforums.apple.com/message/796388#796388
Bobjt
(Re) mover apenas um arquivo não funcionou para mim, então eu também (re) movi iOS Device Logs* connect*e DerivedData- e funciona novamente.
schmunk
woohoo !! sorri de novo, obrigado! Isso resolve a equipe "Desconhecida" também.
Alex Nolasco
62

Esta é a solução alternativa oficial da apple:

Execute este comando no terminal:

mkdir ~/Library/Developer/Xcode/OldPortalDBs; mv ~/Library/Developer/Xcode/connect1.apple.com* ~/Library/Developer/Xcode/OldPortalDBs

Caiu como uma luva para mim.

Mark Molina
fonte
Mesmo depois de fazer isso, tenho percebido que o problema volta a ocorrer depois de alguns dias. Para isso fiz um apelido de comando. Se você também quiser, basta adicionar alias uncrashxcode='mkdir ~/Library/Developer/Xcode/OldPortalDBs 2>/dev/null; mv ~/Library/Developer/Xcode/connect1.apple.com* ~/Library/Developer/Xcode/OldPortalDBs 2>/dev/null'a qualquer um de seus arquivos ~/.profileou ~/.bashrc.
Ricardo Sanchez-Saez
Muito obrigado! Observando a solução alternativa oficial da Apple (que move os arquivos que começam com 'connect1.apple.com' para outra pasta), descobri que é mais fácil eliminar qualquer arquivo que comece com 'connect1.apple.com'. Dessa forma, você também pode colocá-los de volta, se não funcionar. Mas funcionou como um encanto para mim. :)
Timo
2

Alguém teve esse problema à NSCodernoite esta semana. Apagado removendo:

~/Library/Caches/com.apple.dt.Xcode.

sqlite3 ~/Library/Caches/com.apple.dt.Xcode/PortalData/connect1.apple.com

Mostra que esse arquivo é um SQLite database, com referências a certificados, equipes e perfis. Suspeito (mas não tentei) que remover a pasta PortalData seria suficiente para limpar o erro.

Hal Mueller
fonte
1

Remover este arquivo funcionou para mim.

~/Library/Developer/Xcode/connect1.apple.com 4.6.1.db

Obrigado!

Gigante adormecido
fonte