Xcode 4.1の起動に失敗する問題を解決

OS X 10.7 Lion にアップグレード後に Xcode 4.1 を App Store からダウンロードしてインストールしたのだけど、起動しようとすると次のような “Internal Error” を出力してクラッシュしてしまうという問題に少しハマったので解決方法をメモ。

最初は(不可視項目になった)~/Library/Cache/などにあるキャッシュファイルを削除して再起動してみたりしたのだけど全く解決に至らず、Show Details ボタンから詳細を確認すると次のような内容だったのでcom.apple.dt.IDE.IDEiPhoneSupport プラグインが無いという事から大凡の検討が付いた。

UNCAUGHT EXCEPTION (NSInternalInconsistencyException): Couldn't load plug-in 'com.apple.dt.IDE.IDEiPhoneSupport' while firing fault for extension 'Xcode.Device.iPhonePlaceholder'
UserInfo: {
NSUnderlyingError = "Error Domain=DVTPlugInErrorDomain Code=2 \"Loading a plug-in failed.\" UserInfo=0x4001db260 {DVTPlugInIdentifierErrorKey=com.apple.dt.IDE.IDEiPhoneSupport, DVTPlugInExecutablePathErrorKey=/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/PrivatePlugIns/IDEiPhoneSupport.ideplugin/Contents/MacOS/IDEiPhoneSupport, NSLocalizedRecoverySuggestion=The plug-in or one of its prerequisite plug-ins may be missing or damaged and may need to be reinstalled., NSLocalizedDescription=Loading a plug-in failed., NSFilePath=/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/PrivatePlugIns/IDEiPhoneSupport.ideplugin, NSLocalizedFailureReason=The plug-in \U201ccom.apple.dt.IDE.IDEiPhoneSupport\U201d at path \U201c/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/PrivatePlugIns/IDEiPhoneSupport.ideplugin\U201d could not be loaded. The plug-in or one of its prerequisite plug-ins may be missing or damaged., NSUnderlyingError=0x40020e1a0 \"The bundle \U201cIDEiPhoneSupport\U201d couldn\U2019t be loaded because it is damaged or missing necessary resources.\"}";
}
Hints: None
Backtrace:
0 0x00007fff957a996a __exceptionPreprocess (in CoreFoundation)
1 0x00007fff8b170d5e objc_exception_throw (in libobjc.A.dylib)
2 0x0000000107583c98 -[DVTExtension _fireExtensionFault] (in DVTFoundation)
3 0x000000010756e7f9 __38-[DVTDispatchLock performLockedBlock:]_block_invoke_0 (in DVTFoundation)
4 0x00007fff8f190afd _dispatch_barrier_sync_f_invoke (in libdispatch.dylib)
5 0x000000010756e7a9 -[DVTDispatchLock performLockedBlock:] (in DVTFoundation)
6 0x0000000107583a45 -[DVTExtension _valueForKey:inParameterData:usingSchema:] (in DVTFoundation)
7 0x00000001075839ab -[DVTExtension valueForKey:] (in DVTFoundation)
8 0x0000000107583167 +[DVTDevice _knownDeviceLocators] (in DVTFoundation)
9 0x0000000107582cea -[DVTDeviceManager startLocating] (in DVTFoundation)
10 0x0000000107aae07a IDEInitialize (in IDEFoundation)
11 0x0000000107e22c0b -[IDEApplicationController applicationWillFinishLaunching:] (in IDEKit)
12 0x00007fff8a8b9716 __-[NSNotificationCenter addObserver:selector:name:object:]_block_invoke_1 (in Foundation)
13 0x00007fff9575251a _CFXNotificationPost (in CoreFoundation)
14 0x00007fff8a8a59cb -[NSNotificationCenter postNotificationName:object:userInfo:] (in Foundation)
15 0x00007fff933b56c8 -[NSApplication finishLaunching] (in AppKit)
16 0x00007fff933b527d -[NSApplication run] (in AppKit)
17 0x00007fff9363352a NSApplicationMain (in AppKit)
18 0x0000000107568eec (in Xcode)

実際に問題が起きている途中で iTunes にデバイスを接続しても認識していなかったし、Apple Support Communities にも同様の不具合に直面している利用者がいてとても役に立った。具体的には Xcode と iTunes のインストール順が正規の手順の場合にこの問題が起きるようで、上述したサポートフォーラムで解説されているように iTunes を再インストールすることで解決する。

また、その手順2で “Important!” と表記されているように Xcode のインストール途中で ItunesHelper がインストーラによって終了されないというおかしな問題もあるので注意したいところ。この点は、常時アクティビティモニタを起動しているので難が無かったのはせめてもの救いだったな。

投稿者: hkitago

個人事業主でウェブと iOS, Android アプリの開発者で一児の父親。JavaScript, ActionScript, AppleScript, PHP, SQL, ObjC, Swift, Java の読書実行試験運用管理を生業とし、Bind, Postfix, Apache を MacOS で使い、エディタは Vi, mi, Kod, Smultron, TextWrangler を経て Coda, Xcode, Android Studio といった IDE と CotEditor を重用しています。