프로비저닝 프로파일을 새로 고칠 때 Xcode 충돌


118

충돌없이 Xcode에서 프로비저닝 프로파일을 새로 고칠 수 없습니다. Organizer에서 새로 고침 버튼을 누를 때마다 충돌이 발생하고 오류 로그에서 다음 줄을 검색합니다.

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

그래서 나는 내 팀 ID를 확인했지만 특이한 것을 찾지 못했습니다. 아무도 내 문제의 원인이 무엇인지 아이디어가 있습니까? 이것은 내 프로필을 새로 고칠 때마다 나를 위해 일하는 데 사용됩니다. 오늘 아침에도 10 번 정도 했어요.

편집하다:

필요한 경우 충돌 보고서는 다음과 같습니다.

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]

1
저도 같은 문제가
앤드류 Tetlaw

4
오늘도이 오류가 발생하기 시작했습니다.
nh32rg 2013 년

11
이 질문을 닫아야하는 이유를 모르겠습니다. xcode는 소프트웨어를 작성하는 도구이므로 프로그래밍 및 소프트웨어 개발과 관련이 있습니다.
Dallas Clark

5
수동으로 인증서를 다운로드 및 developer.apple.com에서 프로비저닝 프로파일하여 문제를 주변에 얻을 수 있습니다
달라스 클락

2
저도 마찬가지입니다. 인증서와 키를 추가 / 제거했습니다. 그 후 나는이 문제가 있습니다. 아침에 xcode 4.6.1이 업데이트되었습니다.
karim

답변:


179

이 파일을 제거하십시오.

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

Xcode 4.6.1을 실행하기 전에.


이것은 나를 위해 그것을 고쳤습니다.
Ricardo Sanchez-Saez

1
완벽합니다. "connect1.apple.com 4.6.1.db"를 제거한 두 파일이 문제가 시작된 같은 아침에 업데이트되었습니다.
Jim True

7
다음은 Apple의 공식적인 해결 방법입니다. devforums.apple.com/message/796388#796388
Bobjt

하나의 파일 만 (제거) 이동하는 것이 저에게 효과가 없었으므로 나도 (제거) 이동 iOS Device Logs* connect*하고 DerivedData-다시 작동합니다.
schmunk 2013 년

우후 !! 다시 미소 지으며 감사합니다! 이것은 "Unknown"팀도 해결합니다.
Alex Nolasco 2013 년

62

다음은 Apple의 공식적인 해결 방법입니다.

터미널에서 다음 명령을 실행하십시오.

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

나를 위해 매력처럼 일했습니다.


그 후에도 며칠 후에 문제가 다시 발생하는 것을 경험했습니다. 이를 위해 명령 별칭을 만들었습니다. 당신도 그것을 원하는 경우에, 다만이 추가 alias uncrashxcode='mkdir ~/Library/Developer/Xcode/OldPortalDBs 2>/dev/null; mv ~/Library/Developer/Xcode/connect1.apple.com* ~/Library/Developer/Xcode/OldPortalDBs 2>/dev/null'귀하의로 ~/.profile또는 ~/.bashrc파일입니다.
Ricardo Sanchez-Saez

정말 고맙습니다! Apple의 공식 해결 방법 ( 'connect1.apple.com'으로 시작하는 파일을 다른 폴더로 이동)을 살펴보면 'connect1.apple.com'으로 시작하는 파일을 휴지통으로 이동하는 것이 더 쉽다는 것을 알았습니다. 이런 식으로도 작동하지 않으면 다시 넣을 수 있습니다. 그러나 그것은 나에게 매력처럼 작용했습니다. :)
Timo 2013 년

2

누군가 NSCoder이번 주 밤 에이 문제가 발생했습니다 . 다음을 제거하여 지 웁니다.

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

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

SQLite database인증서, 팀 및 프로필에 대한 참조와 함께 해당 파일을으로 표시합니다 . PortalData 폴더를 제거하면 오류를 해결하는 데 충분하다고 생각하지만 시도하지는 않았습니다.


1

이 파일을 제거하면 저에게 효과적이었습니다.

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

감사!

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.