2012-01-02 7 views
1

誰かが新しいiOS開発者を助けることを願っています - "Add Files ..."を使ってプロジェクトに追加したteamresults.dbという準備の整ったsqliteデータベースがあります。コードの下に追加されたものの代わりに空のデータベースを接続/参照しているようです(シミュレータが使用するデータベースの検査では、私が追加したものは約3MBです)。SQLiteの空データベースが参照されています

アプリケーションが空のデータベースを作成しているようですが、なぜそれを解決できないのでしょうか?何かご意見は?

参考のために私はすべてのエラーメッセージを得ることはありません:

BOOL success; 
dbName = @"teamresults.db"; 

NSArray *documentPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDir = [documentPaths objectAtIndex:0]; 
dbPath = [documentsDir stringByAppendingPathComponent:dbName]; 

NSFileManager *fileManager = [NSFileManager defaultManager]; 

success = [fileManager fileExistsAtPath:dbPath]; 

if(success) { 
    return; 
} 

NSString *databasePathFromApp = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:dbName]; 

[fileManager copyItemAtPath:databasePathFromApp toPath:databasePathFromApp error:nil]; 

答えて

3

のコード行と間違って何かがあるようです:

[fileManager copyItemAtPath:databasePathFromApp toPath:databasePathFromApp error:nil]; 

正しいものは次のようになります。

[fileManager copyItemAtPath:databasePathFromApp toPath:dbPath error:nil]; 

あなたはサンドボックスパスの代わりのリソースパスにデータベースをコピーする必要があります!

+0

本当にありがとうございました。ありがとうございました。 :) – Dizzler

+0

あなたの歓迎! –

0

は一つのことを行います。追加したデータベースを右クリックして削除し、[Delete reference only]の代わりに[delete]をクリックします。その後、もう一度追加し、「コピー先アイテムにコピーする」をクリックすることを忘れないでください。うまくいけば、それはあなたを助けるだろう。

関連する問題