新しいプロジェクトで CoreData をセットアップしようとしていますが、どういうわけか momd ディレクトリの場所を特定できません。
同様の質問を持つスタックオーバーフローの投稿がいくつか見つかりましたが、提供された回答では問題を解決できませんでした。だからここにあります:最初の行が「nil」を返し、2番目の行が実際にmomdディレクトリを見つける原因は何ですか?
NSURL *modelURL = [NSURL fileURLWithPath:
[[NSBundle mainBundle] pathForResource:@"Project" ofType:@"momd"]
];
NSURL *modelURL = [NSURL fileURLWithPath:
@"/Users/name/Library/Developer/Xcode/DerivedData/Project-afusjhpzsjyjdbesttxposfzlzrj/Build/Products/Debug/Project.app/Contents/MacOS/Project.momd"
];
編集: Metabble がコメントしたように、メインバンドルが Resources フォルダーの外にあるリソースを見つけることができないのは当然のことです。
しかし、私の問題はまだ存在します。私はいくつかのことを知りました: クラスを生成するために mogenerator を使用しています。(私はこれらの指示を使用しました: http://www.esenciadev.com/2011/05/mogen-and-xcode4-integration/ )。スクリプトは、ビルド ルール プロセス「データ モデル バージョン ファイル」によって呼び出されます。そのビルドルールでは、出力を '${DERIVED_FILES_DIR}/${INPUT_FILE_BASE}.momd' に設定しましたが、それは momd の正しい宛先ではないようです:
error: Could not create bundle folder for versioned model at '/Users/user/Library/Developer/Xcode/DerivedData/Project-afusjhpzsjyjdbesttxposfzlzrj/Build/Products/Debug/Project.app/Contents/MacOS/Project.momd'
ビルド ルールを削除すると、コードは momd を見つけることができます。しかし、それはモジェネレータを無効にします...
ビルドルールで設定する必要がある出力ファイルを知っている人はいますか?