Я сделал приложение для Ipad, и оно работало нормально на simultor, но когда оно установлено на устройстве для тестирования, база данных не загружает значение.
Я разрабатываю для цели ios 4.3 и добавляю файл базы данных sqlite в папку вспомогательных файлов и в файл Appdelegate добавьте этот код:
AppDelegate.m
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[self createDatabaseExecutableFile];
}
и код метода
// Creates a writable copy of the bundled default database in the application Documents directory.
- (void) createDatabaseExecutableFile
{
// First, test for existence.
BOOL _success;
NSFileManager* _fileManager = [NSFileManager defaultManager];
NSError* _error;
NSArray* _paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString* _documentsDirectory = [_paths objectAtIndex:0];
NSString* _writableDBPath = [_documentsDirectory stringByAppendingPathComponent:@"turfnutritiontool_ver_two.db"];
_success = [_fileManager fileExistsAtPath:_writableDBPath];
if (_success)
return;
// The writable database does not exist, so copy the default to the appropriate location.
NSString *defaultDBPath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"turfnutritiontool_ver_two.db"];
_success = [_fileManager copyItemAtPath:defaultDBPath toPath:_writableDBPath error:&_error];
if (!_success) {
NSAssert1(0, @"Failed to create writable database file with message '%@'.", [_error localizedDescription]);
}
}