似たような質問がたくさんありますが、それらを通って私の質問に答えが見つかりません。iPhone用のアプリケーションのSQLiteデータベースの更新
iPhone用のアプリケーションでは、sqliteデータベースを使用しています。アプリを更新する必要があり、すべてがうまくいった。 iPhoneにアプリをインストールするとうまくいきますが、一部のデバイスに既にインストールされているアプリを更新すると、アプリが削除されてアプリが再インストールされるまで古いデータベースと機能が混ざり合いました。
デバイス上のデータをチェックするための私のコードは次のとおりです。
/*
This method checks is rawdata has been copied to Documents directory.
If not, copies and returns YES, to start conversion.
Else, if already copied, reply NO.
*/
- (void) checkImportIsNeededFrom: (NSString*) bundledRawFilePath toDestination:(NSString*) documentSavedRawFilePath
{
NSLog(@"Checking rawdata file into Documents folder..");
if ([[NSFileManager defaultManager] fileExistsAtPath:documentSavedRawFilePath]) {
importIsNeeded = NO; // SET YES TO FORCE IMPORT ON EACH STARTUP
NSLog(@"copy already existing in %@", documentSavedRawFilePath);
} else {
[[NSFileManager defaultManager] copyItemAtPath:bundledRawFilePath toPath:documentSavedRawFilePath error:NULL];
importIsNeeded = YES;
NSLog(@"copy %@ to %@ done...", bundledRawFilePath, documentSavedRawFilePath);
}
}
- (BOOL) importIsNeeded {
return importIsNeeded;
}
だから、僕は、デバイス上の古いものを削除するといくつかの助けを必要とし、新しいものと交換してください。簡単な解決法はありますか?
ありがとうございました。
はい、データベースファイルの名前を変更するたびにインポートが開始されます。だから、それは何とかsqliteデータベースの名前に接続されています。しかし、私の問題は、アプリケーションが古いデータベースを削除する別の名前を参照しているときです。私はiOSで初心者なので、あなたが私を理解すればわからない。 – Akosha