2011-12-24 14 views
0

私はxcode 4.2を使用してiphoneアプリを作成しています。 プロジェクトをきれいにするまでは、すべてが完璧でした。 理由= "ストアを開くために使用されたモデルが、ストアの作成に使用されたモデルと互換性がありません"。 私はXcode 4.2ストアを開くための互換性のないモデル

NSString *storePath = [[self applicationDocumentsDirectory] stringByAppendingPathComponent: @"ChildCare_v02.sqlite"]; 
NSURL *storeUrl = [NSURL fileURLWithPath:storePath]; 

を使用している場合は、私が使用して上記とあればエラーを取得:

NSURL *storeURL = [[self applicationDocumentsDirectory] URLByAppendingPathComponent:@"ChildCare_v02.sqlite"]; 

それは私のデータベースファイルから0行を取得し、誰もが任意のアイデアを持っていますか?

私が使用しているストアは空ではなく、別のアプリケーションを使用してデータを入力します。 (これは私が別のアプリで使用される1つのアプリからcoredataストアファイルをコピーすることを意味します)

最後に、私のプログラムでsqliteデータベースからレコードを読み取るためにいくつかの行のコードを追加しましたアプリケーションに関連するcoredataストアを記入してください。それは働いた。ストアを削除してsqlite2coredata関数を1回実行したところ、アプリケーションが動作しています。

答えて

0

属性やモデルを何らかの方法で変更して、ストアが互換性を失うことがあります。シミュレータとデバイス上のアプリケーションを削除するだけで、エラーは消えてしまいます。

+0

iPhoneのシミュレータからアプリを削除しました。私は自分のモデルで何も変えていないと確信しています。私は最初から私のモデルを作りましたが、どちらもうまくいかなかったのです。私が使用しているストアは空ではないことを言及し、別のアプリケーションを使用してデータを埋めます。 –

+0

ああ、それはトラブルかもしれない。私は通常、CSVやデータベースのダンプのようなテキストファイルに基づいてシミュレータを使用して、アプリケーションのデータベースを埋める。 SQLiteストアは、サードパーティのツールによって実際に操作されることは想定されていません。 – Mundi

+0

私はあなたが正しいと思う、私はあなたの方法を使用し、私のアプリ内で事前にsqlitefileを使用してcoredataストアを埋める。 –

0

データモデルを変更すると、そのモデルファイルを再生成するために削除する必要がある特定のファイルが派生データに1つありますが、どちらが覚えていないかがわかります。

簡単に行うには、デバイスやシミュレータからアプリケーションを削除し、ビルドフォルダをクリーンアップし、派生したデータフォルダを削除してください。

+0

iPhoneのシミュレータからアプリを削除しました。私は自分のモデルで何も変えていないと確信しています。私は最初から私のモデルを作りましたが、どちらもうまくいかなかったのです。私が使用しているストアは空ではないことを言及し、別のアプリケーションを使用してデータを埋めます。 –

関連する問題