2013-03-12 25 views
10

私のプロジェクトに.xcdatamodeldファイルがありますが、データモデルには開きません。.xcdatamodeldファイルがXcodeでデータモデル構造を表示していません

私はXcodeで左のサイドバーにあるファイルをクリックすると、それは代わりに、データモデルを表示する前に選択したファイルの内容を表示し続けます。同様に、ファイルを右クリックして[名前を付けて開く]を選択すると、データモデルとして表示するように選択することはできません。何も表示されません。私はSVNリポジトリからコードをチェックアウトし、ファイラーの所有者でさえ自分のワークスペースで見ることができません。

答えて

9

これは私が時折見た症状です。少なくとも一つのケースでは、これはXcodeのがproject.pbxprojファイルのXCVersionGroupセクションのpathコンポーネントに格納された間違ったパスを有し、そしてそのセクションの明らか不要追加name成分を有するためでした。おそらく、このファイルを手動で編集することは可能ですが、私はいつもプロジェクトファイルを直接使って猿に夢中で、幸いにも簡単な方法があります。

  1. Finderで.xcdatamodeldファイルに移動します。これを行う最も簡単な方法は、.xcdatamodeldファイルを右クリック/ Ctrl-クリックして「Finderで表示」を選択することです。
  2. ファイルをFinderからドラッグし、XcodeプロジェクトのProject Navigatorの.xcdatamoddへの現在の参照のすぐ上または下にドロップします。
  3. [OK]をクリックしてインポートを受け入れ、正しいターゲットに追加していることを確認します。 (正しいターゲットはプロジェクトによって異なります)
  4. これで、Project Navigatorで同じファイルへの参照が2つ表示されるようになりました。 をクリックすると、が表示され、目的のデータモデル構造が表示されます。
  5. モデルファイルへの重複した参照を削除します。ファイル参照のいずれかをクリックします(古いものを削除する方が良いかもしれませんが、どちらにしても問題はありません)。Deleteを押します。
  6. 確認ダイアログで「参照の削除」のみを選択し、ファイルをごみ箱に移動しないでください。

これで、データモデルへの参照が1つだけ残っています。これは動作します。これで、ファイルシステム内の実際のファイルが1つだけ参照されます。このバグを誘発するものと思わ

ことの一つは、ディスク上のファイル構造で.xcdatamodeldファイルを移動しています。ファイルを新しい場所に正しく再関連付けしても(つまり、サイドバーの赤色で表示されなくなった)、上記のProjectファイルの1つのセクションは正しく更新されないため、ファイルは完全には正しく処理されませんXcodeデータモデルファイル。

1

.xcdatamodeldファイルはパッケージです。それは、.xcdatamodelパッケージを含み、各バージョンの1つに含まれています。各.xcdatamodelにはcontentsというファイルがあり、エンティティの説明付きののXMLです。パッケージ内に何が入っているかを見るには、Finderで右クリックし、パッケージの内容を表示オプションを選択します。

Show Package Contents in Finder

おそらく、あなたはあなたのリポジトリにcontentsファイルを追加しませんでした。このようにして、新しい作業コピーを作成するときにモデルを見ることができなくなります。

+0

そのパッケージには別のファイルがあります。そのファイル名は、壊れている可能性がある現時点では覚えていません。そのファイルを削除してから再度開き、Xcodeは可視要素で新しいレイアウトを作成する必要があります。 –

3

私は私のために働いた唯一の解決策は、Xcodeプロジェクトエクスプローラで、私の「リソース」フォルダの外に、プロジェクトのルートフォルダに.xcdatamodeldファイルを移動することだったのXcode 6.3で同じ問題に

に遭遇しました(ファイルシステム上の場所は関係ありません)

私はまだプロジェクト構造内のファイルの場所を移動するだけで、それがクリックされたときに全く表示されません。しかし、明らかに少なくとも私のセットアップでは、Resourcesフォルダに入っているのが好きではありません。

+0

それは実際問題です...そしてその解決策です。しかし、私はxcdatamodel ** d **をいつでもどこでも望む方法を見つけました:http://stackoverflow.com/questions/13728021/xcode-cant-edit-coredata-model/32435681#32435681 –

4

いくつかの暗い理由から、Xcodeはxcdatamodel dがルートフォルダに存在する必要があることがあります。 私はこれを行う方法を説明する回答hereを書いただけでなく、あなたが望むところでこのファイルを持つための回避策を書いています。

乾杯!

1

Xcode 7.3.1にも同様の問題がありました。

これは、データモデルパッケージの設定方法に関連していることが判明しました。

埋め込まれたモデルパッケージが別のものの中に入れ子になっていることがわかりました。 FolderNodes.xcdatamodeldと呼ばれるトップレベルのデータモデルが、まったく同じ名前の別のFolderNodes.xcdatamodeldを含むとしましょう。 FolderNodes.xcdatamodeldは、モデル情報を持つ実際のコンテンツファイルです。

解決策は、埋め込みパッケージFolderNodes.xcdatamodeld(番号2)をXcodeプロジェクトにドラッグすることでした。

Appleはバージョン管理にこのパッケージを使用していますが、データモデルファイルを動かすことに関連したロジックが元のパッケージを壊して冗長ラッパーを作成していると思います。

0

Version Editorがアクティブでないことを確認してください。

Version Editorを開くと、Data Modelの代わりにxmlコードが表示されます。 Project Navigator内のxcdatamodeldファイルのコンテキストメニューでData Modelを選択することもできません。

2

今日、この問題の犠牲者はXcode8でした。

xcdatamodeldファイルをプロジェクトナビゲータの左側に配置するだけで解決しました。私がグループに移動するとすぐに、私はもう小さな男を開くことができません。

+0

私のために働きましたあまりにも。残念ながら、新しく作成されたファイルについても問題が発生します。 – charles

0

XCode 8.3でも発生します。

私の場合、物理ファイルを別のフォルダに移動し、元の参照を削除してから同じ場所に追加し、再度参照を設定するとジョブが実行されます。

関連する問題