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]
Appleの公式の回避策は次のとおりです。
ターミナルで次のコマンドを実行します。
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
xcode 4.6.1を実行する前。
今週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
ありがとう!