刷新配置文件时 Xcode 崩溃

在 Xcode,我似乎无法在不崩溃的情况下刷新我的供应配置文件。每次我按下组织器中的刷新按钮,它就崩溃了,我从错误日志中检索到这一行:

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

所以我检查了我的团队,但没有发现任何异常。有人知道是什么导致了我的问题吗?以前我每次刷新配置文件时都会这样做。今天早上都做了十次了。

编辑:

如果需要,以下是坠机报告:

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]
19799 次浏览

有人在这周的 NSCoder之夜遇到了这个问题,通过删除:

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

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

显示该文件为 SQLite database,并引用证书、团队和配置文件。我怀疑(但还没有试过)删除 PortalData 文件夹就足以清除错误。

删除此文件:

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

在运行 Xcode 4.6.1之前。

以下是苹果公司的官方解决方案:

在终端运行这个命令:

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

对我来说非常有效。

删除这个文件对我有用。

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

谢谢!