Awaria Xcode podczas odświeżania profili aprowizacji

118

Nie mogę odświeżyć moich profili obsługi administracyjnej w Xcode bez awarii. Za każdym razem, gdy naciskam przycisk odświeżania w organizatorze, zawiesza się i pobieram ten wiersz z dziennika błędów:

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

Sprawdziłem więc identyfikator zespołu, ale nie znalazłem nic niezwykłego. Czy ktoś ma jakieś pomysły, co powoduje mój problem? To zwykle działa dla mnie za każdym razem, gdy odświeżam moje profile. Nawet zrobiłem to dziś rano jakieś 10 razy.

EDYTOWAĆ:

Oto raport o awarii w razie potrzeby:

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
źródło
1
Mam ten sam problem
Andrew Tetlaw
4
Właśnie dzisiaj zacząłem otrzymywać ten błąd.
nh32rg
11
Nie rozumiem, dlaczego to pytanie powinno zostać zamknięte? Jest to związane z programowaniem i tworzeniem oprogramowania, ponieważ xcode to narzędzie do pisania oprogramowania.
Dallas Clark,
5
Możesz obejść ten problem, ręcznie pobierając swoje certyfikaty i profile obsługi z developer.apple.com
Dallas Clark
2
to samo dla mnie. Zrobiłem jakąś zmianę, dodając / usuwając certyfikat i klucze. po tym mam ten problem. rano xcode 4.6.1 jest aktualizowany.
karim

Odpowiedzi:

179

Usuń ten plik:

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

przed uruchomieniem Xcode 4.6.1.

Godfrey Chung
źródło
To naprawiło to dla mnie.
Ricardo Sanchez-Saez
1
doskonale, usunąłem dwa pliki „connect1.apple.com 4.6.1.db” został zaktualizowany tego samego ranka, kiedy zaczął się problem.
Jim True
7
Oto oficjalne obejście firmy Apple: devforums.apple.com/message/796388#796388
Bobjt
(Ponowne) przeniesienie tylko jednego pliku nie zadziałało, więc również (ponownie) przeniosłem się iOS Device Logs* connect*i DerivedData- i znowu działa.
schmunk
woohoo !! znowu się uśmiecha, dziękuję! To rozwiązuje również zespół „Nieznany”.
Alex Nolasco,
62

Oto oficjalne obejście firmy Apple:

Uruchom to polecenie w terminalu:

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

U mnie zadziałało jak urok.

Mark Molina
źródło
Nawet po wykonaniu tej czynności mam wrażenie, że problem powraca po kilku dniach. W tym celu utworzyłem alias poleceń. Jeśli chcesz, po prostu dodaj to alias uncrashxcode='mkdir ~/Library/Developer/Xcode/OldPortalDBs 2>/dev/null; mv ~/Library/Developer/Xcode/connect1.apple.com* ~/Library/Developer/Xcode/OldPortalDBs 2>/dev/null'do dowolnego pliku ~/.profilelub ~/.bashrc.
Ricardo Sanchez-Saez
Dziękuję bardzo! Patrząc na oficjalne obejście Apple (które przenosi pliki zaczynające się od „connect1.apple.com” do innego folderu), stwierdziłem, że łatwiej jest usunąć każdy plik zaczynający się od „connect1.apple.com”. W ten sposób możesz je odłożyć, jeśli to nie zadziała. Ale dla mnie zadziałało jak urok. :)
Timo
2

Ktoś miał ten problem w NSCodernocy w tym tygodniu. Wyczyść przez usunięcie:

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

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

Pokazuje, że plik jest plikiem SQLite database, z odniesieniami do certyfikatów, zespołów i profili. Podejrzewam (ale nie próbowałem), że usunięcie folderu PortalData wystarczy do usunięcia błędu.

Hal Mueller
źródło
1

Usunięcie tego pliku zadziałało dla mnie.

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

Dzięki!

Śpiący olbrzym
źródło