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、通过代码来加表里的字段,不要直接修改建表语句

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容