Xcode ขัดข้องเมื่อรีเฟรชโปรไฟล์การจัดเตรียม


118

ดูเหมือนฉันจะรีเฟรชโปรไฟล์การจัดเตรียมใน Xcode ไม่ได้โดยไม่ขัดข้อง ทุกครั้งที่ฉันกดปุ่มรีเฟรชในออแกไนเซอร์มันขัดข้องและฉันดึงบรรทัดนี้จากบันทึกข้อผิดพลาด:

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

ดังนั้นฉันจึงตรวจสอบ teamId แต่ไม่พบสิ่งผิดปกติ ใครมีความคิดที่ทำให้เกิดปัญหาของฉัน? สิ่งนี้ใช้ได้ผลกับฉันทุกครั้งที่รีเฟรชโปรไฟล์ เมื่อเช้านี้ทำเหมือน 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
ฉันมีปัญหาเดียวกัน
Andrew Tetlaw

4
ฉันเพิ่งเริ่มได้รับข้อผิดพลาดนี้ในวันนี้เช่นกัน
nh32rg

11
ฉันไม่เห็นว่าทำไมถึงควรปิดคำถามนี้? มันเกี่ยวข้องกับการเขียนโปรแกรมและการพัฒนาซอฟต์แวร์เนื่องจาก xcode เป็นเครื่องมือในการเขียนซอฟต์แวร์
Dallas Clark

5
คุณสามารถแก้ไขปัญหาได้โดยดาวน์โหลดใบรับรองและโปรไฟล์การจัดเตรียมด้วยตนเองจาก developer.apple.com
Dallas Clark

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

(Re) การย้ายเพียงไฟล์เดียวไม่ได้ผลสำหรับฉันดังนั้นฉันจึง (อีกครั้ง) ย้ายiOS Device Logs* connect*และDerivedData- และใช้งานได้อีกครั้ง
schmunk

woohoo !! ยิ้มอีกครั้งขอบคุณ! สิ่งนี้จะแก้ปัญหาทีม "Unknown" ด้วย
Alex Nolasco

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

2

มีคนมีปัญหานี้ตอนNSCoderกลางคืนในสัปดาห์นี้ ล้างโดยการลบ:

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

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

แสดงว่าไฟล์นั้นเป็นไฟล์ที่มีการSQLite databaseอ้างอิงถึงใบรับรองทีมและโปรไฟล์ ฉันสงสัย (แต่ยังไม่ได้ลอง) ว่าการลบโฟลเดอร์ PortalData จะเพียงพอที่จะล้างข้อผิดพลาด


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.