2013-05-20 14 views
5

特定のプロジェクトをXCodeで開こうとすると、プロジェクトがハングします。それがハングすると、次の画面が表示されます。image特定のプロジェクトを開くときにXCodeがハングアップする

他のプロジェクトは正常に開くことができますが、ハングするプロジェクトも開くので何もできません。私のCPUはフルスピードで動作しています(ファンが起動します)、「Interface Builder Cocoa Touch Tool」という名前の複数のプロセスを終了する必要があります。

私が試した... rm -rf /Users/scott/Library/Developer/Xcode/DerivedData/*

  • rm -rf ~/Developer/XCode/UROPv6/UROPv6.xcodeproj/xcuserdata
  • rm -rf ~/Library/caches/com.apple.dt.Xcode
  • 再インストールXCodeの
  • rm -rf ~/Libraries/Autosave Information

    XCodeプリファレンスを開くことができません - UROPv6(ハングするプロジェクト)が常に開くので、これらのオプションはすべてウィンドウからスローされます。

    ハングするアプリはiOSプロジェクトです。私はthis blog postを見ましたが、*.xibではなく*.storyboardを使用しています。

    上記の方法のどれもうまくいきませんでしたので、プロジェクトの中にこれを引き起こしているファイルがいくつかあると思います。プロジェクトを開くにはどうしたらいいですか?

    XCodeがクラッシュしたときの完全なエラーログについては、this gistを参照してください。

  • +0

    他のMacでも開くのですか? –

    +0

    私は知らない - 私は現在、他のMacにアクセスすることはできない。 – Scott

    +1

    ほんのちょっとした提案 - あなたのプロジェクトを投稿して他の誰かがそれを実行しようとするかもしれません。おそらく理想的ではありませんが、それはあなたに始める場所を与えるでしょう。あなたのコードを盗むことはありません。正直(少なくとも私はしない...) – Undo

    答えて

    6

    rm -rf ~/Developer/XCode/UROPv6/Reconstruct.xcodeproj/project.xcworkspace/xcuserdataが働いた。私はgit checkout 0ea13dを実行しようとしたとき、それは `エラーを言った:

    Your local changes to the following files would be overwritten by checkout: 
    Reconstruct.xcodeproj/project.xcworkspace/xcuserdata/scott.xcuserdatad/UserInterfaceState.xcuserstate 
    Please, commit your changes or stash them before you can switch branches. 
    Aborting` 
    

    だから私は、そのフォルダを削除され、今では動作します。

    1

    Scottより包括的な.gitignoreファイルを検討するとよいでしょう。ほとんどの場合、xcuserdataフォルダはgitによって無視されるべきですか?

    ここからは、アーカイブに入れる必要のない大部分のものを除外するサンプルの.gitignoreファイルがあります。そのうちのいくつかは時々奇妙な問題を引き起こす可能性があります。あなたのアーカイブの空き容量は何の価値も寄与しません。このサンプルには、深いルーツを持つプロジェクトからクラス、ライブラリ、またはフレームワークをインポートするまで、遭遇するとは思わないかもしれない、Xcodeおよびその先祖の古い制御ファイルが多数含まれています。

    私はこれをまとめて数年前にブログに投稿しました(A better sample .gitignore for Xcode iOS and OSX projects)。 "これは一般的にはアーカイブにないはずの一時ファイルです(例えばSparkleの秘密鍵)、または単に必要でない場合(たとえば、さまざまな中間ビルド製品)、除外します。

    この記事がお気に召さない場合は、見て回ってみてください。 Web上には、これまでのところ(あなたが好きなディレクトリにファイルを作成するa cool one implemented as an Xcode scriptを含む)、また異なる(最小限の)哲学的アプローチを持つものと、より詳細なコメントを持つものがあります。

    すべてのgitアーカイブの最上位に.gitignoreファイルを置き、チェックインして、すべてのチームメンバーに対して無視することができます。また、プロジェクトを作成して最初のコミットの前に無視ファイルを追加することを忘れた場合に備えて、グローバルな無視ファイルとしてシステムに配置することもできます。

    LINK: How to make a global .gitignore file

    XcodeのiOSとOSX用のサンプル.gitignoreファイル

    # Mac OS X Finder and whatnot 
    .DS_Store 
    .Trashes 
    
    # Sparkle distribution Private Key 
    dsa_priv.pem 
    
    # Xcode (and ancestors) per-user config 
    *.mode1 
    *.mode1v3 
    *.mode2v3 
    *.perspective 
    *.perspectivev3 
    *.pbxuser 
    
    # Whitelist the Xcode defaults 
    !default.mode1 
    !default.mode1v3 
    !default.mode2v3 
    !default.perspective 
    !default.perspectivev3 
    !default.pbxuser 
    
    # Xcode 4 - Deprecated classes 
    *.moved-aside 
    
    # Generated files 
    VersionX-revision.h 
    
    # build products 
    xcuserdata/ 
    DerivedData/ 
    build/ 
    *.[oa] 
    
    # Other source repository archive directories 
    .hg 
    .svn 
    CVS 
    
    # automatic backup files 
    *~.nib 
    *.swp 
    *.lock 
    *~ 
    *(Autosaved).rtfd/ 
    Backup[ ]of[ ]*.pages/ 
    Backup[ ]of[ ]*.key/ 
    Backup[ ]of[ ]*.numbers/ 
    
    0

    私はXcodeの6.1.1と同様の問題がありました。私は上のすべてのソリューションを試してみましたが、もう少しウェブ上では役に立たないことが分かりました。私は最終的にバイナリ検索に頼って、再び作業しました。

    1. Xcodeプロジェクトのバックアップを作成します。
    2. Xcodeプロジェクトパッケージを開きます(Finderで右クリックし、パッケージ内容を表示を選択してください)。
    3. project.pbxprojをテキストエディタで開き、PBXFileReferenceセクションを調べます。
    4. リストの項目の半分を削除して、下のPBXGroupセクションから該当する項目を削除してください。ファイルを保存し、Xcodeでプロジェクトを開きます。問題のある項目が見つかるまで反復処理を続けます。たとえば、Xcodeがまだハングした場合は、バックアップを復元し、残りの項目を削除してもう一度やり直してください。

    私の場合、問題はシンボリックリンクされたフォルダでした。

    関連する問題