登录时本地保存账号密码及关闭ARC的方法
對于登錄時保存用戶名和密碼,蘋果官方使用的是KeychainItemWrapper,但使用時有些不便,如在引入KeychainItemWrapper的類中都要關閉arc,不能自定義key,必須使用該類提供的kSecValueData、kSecAttrAccount等。
所以推薦使用第三方類庫——SSkeychain,地址在
https://github.com/samsoffes/sskeychain/
它的優點如下:
①無需手動關閉arc,它會自動判斷并運行在arc和非arc環境中
②能存儲多組賬號和密碼
使用方法如下:
①項目中引入Security.framework
②將SSKeychain.h和SSKeychain.m導入項目
結果如下:
1 //刪除某組特定的賬號跟密碼 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]; //若要刪除所有的賬號和密碼,則用 NSArray *accounts = [SSKeychain accountsForService:kSSToolkitMyPswdServiceName]; for (NSDictionary *dictionary in accounts) {NSString *account = [dictionary objectForKey:@"acct"];[SSKeychain deletePasswordForService:kSSToolkitMyPswdServiceName account:account]; }更詳細的介紹見這里
http://hi.baidu.com/bupt_zhuo/item/fac2422c1861b14f479962f2
http://blog.csdn.net/fangzhangsc2006/article/details/8716131
?
引申
有時候導入一些第三方文件需要關閉arc,否則報錯。這里給出如何部分或整體關閉arc方法。
①整體關閉arc,即整個項目都關閉
Build settings -> Apple LLVM complier 6.0 - Language - objective-C ——> Automatic Reference Counting設置為NO,即可
②部分關閉,即某個類不需要arc,那么只需在該類中關閉arc即可,不影響整體項目。
Build Phrases ——> Compile Sourses,找到不想加arc的.M 文件,在后面加上 -fno-objc-arc
轉載于:https://www.cnblogs.com/Apologize/p/4318501.html
總結
以上是生活随笔為你收集整理的登录时本地保存账号密码及关闭ARC的方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据库高可用架构 转载
- 下一篇: hdu 4292 Food 最大流