Je n'arrive pas à rafraîchir 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 dans le journal des erreurs:
UNCAUGHT EXCEPTION (NSInvalidArgumentException): *** setObjectForKey: object cannot be nil (key: teamId)
J'ai donc vérifié mon teamId mais 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 je rafraîchis mes profils. J'ai même fait ça ce matin 10 fois.
MODIFIER:
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]
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.
Supprimez ce fichier:
~/Library/Developer/Xcode/connect1.Apple.com 4.6.1.db
avant d'exécuter Xcode 4.6.1.
Quelqu'un a eu ce problème à NSCoder
Nuit cette semaine. Effacé en supprimant:
~/Library/Caches/com.Apple.dt.Xcode
.
sqlite3 ~/Library/Caches/com.Apple.dt.Xcode/PortalData/connect1.Apple.com
Montre 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.
La suppression de ce fichier a fonctionné pour moi.
~/Library/Developer/Xcode/connect1.Apple.com 4.6.1.db
Merci!