【IOS】儲存使用者唯一ID,ios儲存id

來源:互聯網
上載者:User

【IOS】儲存使用者唯一ID,ios儲存id

iOS的keychain服務提供了一種安全的儲存私密資訊(密碼,序號,認證等)的方式,每個ios程式都有一個獨立的keychain儲存。相對於NSUserDefaults、檔案儲存等一般方式,keychain儲存更為安全,而且keychain裡儲存的資訊不會因App被刪除而丟失,所以在重裝App後,keychain裡的資料還能使用。從ios 3。0開始,跨程式分享keychain變得可行。

SSKeyChains對蘋果安全架構API進行了簡單封裝,支援對儲存在鑰匙串中密碼、賬戶進行訪問,包括讀取、刪除和設定。SSKeyChain的作者是大名鼎鼎的SSToolkit的作者samsoffes。

項目地址:https://github.com/samsoffes/sskeychain

在工程中加入SSKeyChain

  1. 在工程中加入Security.framework架構。
  2. 把SSKeychain.h和SSKeychain.m加到專案檔夾。

使用SSKeyChain

通過以下類方法來使用SSKeyChain(請查看SSKeyChain.h):

+ (NSArray *)allAccounts;

+ (NSArray *)accountsForService:(NSString *)serviceName;

+ (NSString *)passwordForService:(NSString *)serviceNameaccount:(NSString *)account;

+ (BOOL)deletePasswordForService:(NSString *)serviceNameaccount:(NSString *)account;

+ (BOOL)setPassword:(NSString *)password forService:(NSString*)serviceName account:(NSString *)account;

 

文檔

在Xcode中安裝SSKeyChain的協助文檔需要以下步驟:

  1. 開啟菜單 Xcode -> Preferences
  2. 選擇 Downloads
  3. 選擇 Documentation
  4. 點擊底部的加號按鈕,並輸入以下URL: http://docs.samsoff.es/com.samsoffes.sskeychain.atom
  5. 點擊”SSKeyChain Documentation”旁邊的install按鈕。 (如果你看不到它,也沒有提示任何錯誤,請重啟Xcode)

確保在Organizer中可選的docset中能夠看到SSKeychain。

此外,可以線上查看SSKeychain Documentation。

調試

如果無法儲存鑰匙串,請使用SSKeychain.h中提供的錯誤碼,例如:

NSError *error = nil;

NSString *password = [SSKeychainpasswordForService:@"MyService" account:@"samsoffes"error:&error]; 

if ([error code] == SSKeychainErrorNotFound) {

     NSLog(@"Passwordnot found");

}

顯然,你對做這個應該很熟悉了。訪問鑰匙串是件痛苦的事情,你要隨時檢查它的每個錯誤和失敗。SSKeychain並沒有使它(鑰匙串)變得更穩定,它僅僅是繁瑣的C APIs封裝。

範例程式碼

儲存一個UUID字串到鑰匙串:

CFUUIDRef uuid = CFUUIDCreate(NULL);assert(uuid != NULL);CFStringRef uuidStr = CFUUIDCreateString(NULL, uuid);

 

[SSKeychain setPassword: [NSString stringWithFormat:@"%@", uuidStr]

 forService:@"com.yourapp.yourcompany"account:@"user"];

 

然後,從鑰匙串讀取UUID:

NSString *retrieveuuid = [SSKeychainpasswordForService:@"com.yourapp.yourcompany"account:@"user"];

 

注意: setPassword和passwordForSevice方法中的 services 和 accounts 參數應該是一致的。
網站儲存資料的唯一ID是什

ID是英文IDentity的縮寫,身份標識號碼的意思。也稱為序號或帳號,是某個體系中相對唯一的編碼,相當於是一種“身份證”在某一具體的事物中,ID號一般是不變的,至於用什麼來標識該事物,則由設計者自己制定的規則來確定。

ID可以是你的QQ帳號、網路登入帳號、各種社交和資訊網站的使用者名稱和密碼。可以是隨機的,也可以是固定。
網站儲存資料的唯一ID我理解應該是網站一些資料只能在電腦的物理地址上儲存。
遇到的具體情況具體分析。
如果有其他問題,可以追問。希望對你有所協助,望採納。
 
ios開發,怎儲存使用者名稱密碼

上傳伺服器儲存。。本地plist儲存。。Userdefault儲存。。sqlite儲存
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.