0
我正在开发一个类似测验的游戏项目,它使用sqlite数据库来存储数据。一切正常,即按照预期的方式在“调试”配置和游戏中读写数据库。iPhone - SQLite的插入语句不起作用在释放配置,同时在调试配置工作
但是,当我在发布配置中构建相同的游戏时。 sqlite的“插入”和“更新”语句不工作,因为它应该。由于sqlite数据库读/写,程序在几次播放后崩溃。
我在网上搜索了答案,发现很少有建议说这是发布配置中的优化问题。
这是我在sqlite数据库中插入新玩家的代码。
- (void) insertPlayerWithName:(NSString *) playerName {
@try
{
[self openDatabase];
Player *p = [[Player alloc] init];
p.name = playerName;
p.energyRefillDate = [self getStringDateFromNSDate:[NSDate dateWithTimeIntervalSinceNow:100000]];
NSLog(@"Date : %@", p.energyRefillDate);
NSString *insertSQL = [NSString stringWithFormat:@"INSERT INTO Player VALUES ('%@', %d, %d, %d, %d, %d, %d, %d, %d, %d, '%@', %d)", p.name, p.knop, p.gold, p.energy, p.karma, p.level, p.keyOfEnergy, p.keyOfWisdom, p.keyOfStrength, p.premium, p.energyRefillDate, p.numQuestsCompleted];
char *error;
if (sqlite3_exec(_sqliteDBConnection, [insertSQL UTF8String], NULL, NULL, &error) != SQLITE_OK)
{
NSLog(@"Error While Inserting Player : %@", [NSString stringWithUTF8String:error]);
}
else
{
[[NSUserDefaults standardUserDefaults] setObject:playerName forKey:@"CurrentPlayer"];
[[NSUserDefaults standardUserDefaults] synchronize];
sqlite3_close(_sqliteDBConnection);
}
[p release];
}
@catch (NSException *exception)
{
NSLog(@"An exception while Error While Inserting Player in Sqlite :%@", exception);
}
@finally
{
sqlite3_close(_sqliteDBConnection);
}
}
任何形式的帮助,建议,提示,高度赞赏。提前感谢您花时间阅读这个问题。