登录时本地保存账号密码及关闭ARC的方法
對(duì)于登錄時(shí)保存用戶名和密碼,蘋(píng)果官方使用的是KeychainItemWrapper,但使用時(shí)有些不便,如在引入KeychainItemWrapper的類中都要關(guān)閉arc,不能自定義key,必須使用該類提供的kSecValueData、kSecAttrAccount等。
所以推薦使用第三方類庫(kù)——SSkeychain,地址在
https://github.com/samsoffes/sskeychain/
它的優(yōu)點(diǎn)如下:
①無(wú)需手動(dòng)關(guān)閉arc,它會(huì)自動(dòng)判斷并運(yùn)行在arc和非arc環(huán)境中
②能存儲(chǔ)多組賬號(hào)和密碼
使用方法如下:
①項(xiàng)目中引入Security.framework
②將SSKeychain.h和SSKeychain.m導(dǎo)入項(xiàng)目
結(jié)果如下:
1 //刪除某組特定的賬號(hào)跟密碼 2 NSString *serviceName = @"cn.zmfc"; 3 NSArray *accountTemp = [[SSKeychain accountsForService:serviceName] lastObject]; 4 NSString *accountNum = [accountTemp valueForKey:@"acct"]; 5 NSString *pwdNum = [SSKeychain passwordForService:serviceName account:accountNum]; 6 [SSKeychain deletePasswordForService:serviceName account:accountNum]; //若要?jiǎng)h除所有的賬號(hào)和密碼,則用 NSArray *accounts = [SSKeychain accountsForService:kSSToolkitMyPswdServiceName]; for (NSDictionary *dictionary in accounts) {NSString *account = [dictionary objectForKey:@"acct"];[SSKeychain deletePasswordForService:kSSToolkitMyPswdServiceName account:account]; }更詳細(xì)的介紹見(jiàn)這里
http://hi.baidu.com/bupt_zhuo/item/fac2422c1861b14f479962f2
http://blog.csdn.net/fangzhangsc2006/article/details/8716131
?
引申
有時(shí)候?qū)胍恍┑谌轿募枰P(guān)閉arc,否則報(bào)錯(cuò)。這里給出如何部分或整體關(guān)閉arc方法。
①整體關(guān)閉arc,即整個(gè)項(xiàng)目都關(guān)閉
Build settings -> Apple LLVM complier 6.0 - Language - objective-C ——> Automatic Reference Counting設(shè)置為NO,即可
②部分關(guān)閉,即某個(gè)類不需要arc,那么只需在該類中關(guān)閉arc即可,不影響整體項(xiàng)目。
Build Phrases ——> Compile Sourses,找到不想加arc的.M 文件,在后面加上 -fno-objc-arc
轉(zhuǎn)載于:https://www.cnblogs.com/Apologize/p/4318501.html
總結(jié)
以上是生活随笔為你收集整理的登录时本地保存账号密码及关闭ARC的方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 数据库高可用架构 转载
- 下一篇: hdu 4292 Food 最大流