iOS App版本迭代时对数据库的影响

一、以下是获取 App info.plist 文件内容

[[NSBundle mainBundle]infoDictionary] 获得的是一个字典,里边放着Info.plist文件中的各种信息,根据不同的键去即可

1:获取bundle Id信息:[[NSBundle mainBundle] bundleIdentifier];

2:获取版本号:[[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"];

3:获取build号:[[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"];

4:获取App显示名:[[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleDisplayName"];

二、在App的启动文件去创建数据库表时容易出现的问题

每次启动都会对数据库表进行判断是否存在,存在则不会创建,不存在则会进行表的创建的操作,由于App的数据库表都是存在沙盒里面,只有当你卸载重装该App时,才能将其删除,但是我们App在应用市场下载安装,只是对原有的App进行覆盖,原有的沙盒里面的内容并不会删除。

出于这种情况,在App某个版本对某个表进行新增字段时,指甲在建表语句上加这么一个字段,则会导致App更新时,不会重新执行该建表语句,则再数据插入时会导致该数据插入不成功。

解决办法:1、在建表之前判断是否是新版本,若是,则删除该表   drop table  tb  ---tb表示数据表的名字    再重新创建该表   2、通过代码来加表里的字段,不要直接修改建表语句

你可能感兴趣的:(iOS App版本迭代时对数据库的影响)