0

作成中のアプリに問題があり、cocoapods と互換性のないビルド設定で多数のエラーが発生しました。もう一度やり直して、アプリをゼロから構築することにしました。古いアプリから新しいアプリにほぼすべてのファイルをコピーし、正常にビルドすることができました。私はいくつかのSOページを読みました(つまり、 coredataをコピーします。別のページ は、coredata xcdatamodelファイルを簡単にコピーできることを意味し、モデルに大量のデータがないことを確認して、試してみることにしました(そのデータ構造データ自体ではなく、再度書き出す必要がないようにしています)。

古い xcdatamodeld ファイルを古いアプリから再構築されたアプリにドラッグ アンド ドロップしましたが、再度実行すると次の行にエラーが表示されます

 let modelURL = NSBundle.mainBundle().URLForResource("myAppName", withExtension: "momd")!

エラーメッセージ「致命的なエラー: オプションの値のラップ解除中に予期せず nil が見つかりました」

次に、myAppName.xcdatamodeld ファイルを古いアプリから新しいリビルドにコピーすると、myAppName.xcdatamodel としてコピーされることに気付きました。つまり、末尾に d がありません。もう一度削除してコピーしようとしましたが、毎回同じです。問題の内容と、コアデータ構造を正常にコピーする方法についてのアイデアはありますか?

4

2 に答える 2

0

私はcoredataストアを手動で再作成することになりましたが、次回はうまくいかない場合は、あなたが提案したようにxcodeではなくファインダーを介してコピーしてみてください。ヘルプと詳細な手順については thx

于 2015-08-23T23:02:00.860 に答える
0

私はちょうど同じ問題を経験しました。ここでの問題は、モデルを Xcode プロジェクトから Xcode プロジェクトにドラッグ アンド ドロップすると、xcdatamodeld ではなく xcdatamodel のような間違った拡張子がコピーされることです。つまり、「d」文字が欠落しています (これは、パッケージ自体ではなくパッケージ コンテンツをコピーしたためです。Finder でそのファイルのパッケージ コンテンツを表示するを参照してください)。

Finderから目的のプロジェクトにコピーすると、すべて問題なく、「d」が配置され、「momd」拡張子のバンドルで検索すると一致します。

于 2015-12-15T19:55:09.000 に答える