Xcode se bloque lors de l'actualisation des profils d'approvisionnement

118

Je n'arrive pas à actualiser mes profils d'approvisionnement dans Xcode sans plantages. Chaque fois que j'appuie sur le bouton d'actualisation de l'organiseur, il se bloque et je récupère cette ligne du journal des erreurs:

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

J'ai donc vérifié mon teamId mais je ne trouve rien d'inhabituel. Quelqu'un a des idées sur la cause de mon problème? Cela fonctionne pour moi chaque fois que j'actualise mes profils. Même fait cela ce matin pendant environ 10 fois.

ÉDITER:

Voici le rapport de crash si nécessaire:

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
la source
1
J'ai le même problème
Andrew Tetlaw
4
Je viens de commencer à avoir cette erreur aujourd'hui.
nh32rg
11
Je ne vois pas pourquoi cette question devrait être fermée? Il est lié à la programmation et au développement de logiciels, car xcode est un outil pour écrire des logiciels.
Dallas Clark
5
Vous pouvez contourner le problème en téléchargeant manuellement vos certificats et vos profils d'approvisionnement à partir de developer.apple.com
Dallas Clark
2
même chose pour moi. J'ai fait quelques changements, ajouter / supprimer un certificat et des clés. après cela, j'ai ce problème. le matin, le xcode 4.6.1 est mis à jour.
karim

Réponses:

179

Supprimez ce fichier:

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

avant d'exécuter Xcode 4.6.1.

Godfrey Chung
la source
Cela a résolu le problème pour moi.
Ricardo Sanchez-Saez
1
parfait, il y avait deux fichiers que j'ai supprimés "connect1.apple.com 4.6.1.db" a été mis à jour le matin même où le problème a commencé.
Jim True
7
Voici la solution de contournement officielle d'Apple: devforums.apple.com/message/796388#796388
Bobjt
(Re) déplacer un seul fichier n'a pas fonctionné pour moi, donc j'ai également (re) déplacé iOS Device Logs* connect*et DerivedData- et cela fonctionne à nouveau.
schmunk
woohoo !! sourit encore, merci! Cela résout également l'équipe "Inconnu".
Alex Nolasco
62

Voici la solution de contournement officielle d'Apple:

Exécutez cette commande dans le terminal:

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

A fonctionné à merveille pour moi.

Mark Molina
la source
Même après avoir fait cela, j'ai fait l'expérience que le problème se reproduit après quelques jours. Pour cela, j'ai créé un alias de commande. Si vous le souhaitez aussi, ajoutez-le simplement alias uncrashxcode='mkdir ~/Library/Developer/Xcode/OldPortalDBs 2>/dev/null; mv ~/Library/Developer/Xcode/connect1.apple.com* ~/Library/Developer/Xcode/OldPortalDBs 2>/dev/null'à l'un de vos fichiers ~/.profileou ~/.bashrc.
Ricardo Sanchez-Saez
Merci beaucoup! En regardant la solution de contournement officielle d'Apple (qui déplace les fichiers commençant par «connect1.apple.com» vers un autre dossier), j'ai trouvé plus facile de supprimer tout fichier commençant par «connect1.apple.com». De cette façon aussi, vous pouvez les remettre si cela ne fonctionne pas. Mais cela a fonctionné comme un charme pour moi. :)
Timo
2

Quelqu'un a eu ce problème la NSCodernuit cette semaine. Effacé en supprimant:

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

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

Indique que ce fichier est un SQLite database, avec des références aux certificats, aux équipes et aux profils. Je soupçonne (mais je n'ai pas essayé) que la suppression du dossier PortalData serait suffisante pour effacer l'erreur.

Hal Mueller
la source
1

La suppression de ce fichier a fonctionné pour moi.

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

Merci!

Sleeping_Giant
la source