上一篇部落格 開源中國iOS用戶端學習——(十一)AES加密 中提到將使用者名稱和密碼儲存到了本地沙箱之中,在從本地讀取使用者名稱和密碼,這是一個怎樣的過程?
-(void)saveUserNameAndPwd:(NSString *)userName andPwd:(NSString *)pwd { NSUserDefaults * settings = [NSUserDefaults standardUserDefaults]; [settings removeObjectForKey:@"UserName"]; [settings removeObjectForKey:@"Password"]; [settings setObject:userName forKey:@"UserName"]; pwd = [AESCrypt encrypt:pwd password:@"pwd"]; [settings setObject:pwd forKey:@"Password"]; [settings synchronize]; }
上面的方法使用了NSUserDefaults類,它也是以字典形式實現對資料功能,並將這些資料儲存到本地應用程式沙箱之中,這種方法適合儲存較小的資料,例如使用者登陸配置資訊;這段代碼首先是定義了一個對象,進行初始化,移除索引值為UseName和Password的對象,防止資料混亂造成幹擾;然後就是重新設定索引值資訊; [settings synchronize];將索引值資訊同步道本地;
現在我們道沙箱中來看看這個使用者配置資訊
首先查看應用程式沙箱的路徑 ,使用
<span style="font-family:Comic Sans MS;font-size:18px;"> NSString *homeDirectory = NSHomeDirectory(); NSLog(@"path:%@", homeDirectory);</span>
列印結果: path:/Users/DolBy/Library/Application Support/iPhone Simulator/5.1/Applications/55C49712-AD95-49E0-B3B9-694DC7D26E94
但是在我的DolBy使用者下並沒有Library這個目錄,這是因為系統隱藏了這些檔案目錄,現在需要顯示這些隱藏的檔案,開啟終端輸入 defaults write com.apple.finder AppleShowAllFiles -bool true 斷行符號,然後重啟Finder(不會?請看 查看iOS沙箱(SanBox)檔案),找到55C49712-AD95-49E0-B3B9-694DC7D26E94目錄下的Library/Preferences下的 net.oschina.iosapp.plist檔案,將其開啟