一朴肺、以下是獲取 App info.plist 文件內(nèi)容
[[NSBundle mainBundle]infoDictionary] 獲得的是一個(gè)字典,里邊放著Info.plist文件中的各種信息,根據(jù)不同的鍵去即可
1:獲取bundle Id信息:[[NSBundle mainBundle] bundleIdentifier];
2:獲取版本號(hào):[[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"];
3:獲取build號(hào):[[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"];
4:獲取App顯示名:[[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleDisplayName"];
二、在App的啟動(dòng)文件去創(chuàng)建數(shù)據(jù)庫表時(shí)容易出現(xiàn)的問題
每次啟動(dòng)都會(huì)對(duì)數(shù)據(jù)庫表進(jìn)行判斷是否存在赏陵,存在則不會(huì)創(chuàng)建,不存在則會(huì)進(jìn)行表的創(chuàng)建的操作饲漾,由于App的數(shù)據(jù)庫表都是存在沙盒里面蝙搔,只有當(dāng)你卸載重裝該App時(shí),才能將其刪除能颁,但是我們App在應(yīng)用市場下載安裝杂瘸,只是對(duì)原有的App進(jìn)行覆蓋,原有的沙盒里面的內(nèi)容并不會(huì)刪除伙菊。
出于這種情況败玉,在App某個(gè)版本對(duì)某個(gè)表進(jìn)行新增字段時(shí),指甲在建表語句上加這么一個(gè)字段镜硕,則會(huì)導(dǎo)致App更新時(shí)运翼,不會(huì)重新執(zhí)行該建表語句,則再數(shù)據(jù)插入時(shí)會(huì)導(dǎo)致該數(shù)據(jù)插入不成功兴枯。
解決辦法:1血淌、在建表之前判斷是否是新版本,若是财剖,則刪除該表? ?drop table? tb? ---tb表示數(shù)據(jù)表的名字? ? 再重新創(chuàng)建該表? ?2悠夯、通過代碼來加表里的字段,不要直接修改建表語句