回答
正如deanWombourne說,你可以使用NSUserDefaults的來存儲這些數據,但它是不是很安全。如果你不想存儲這些數據,你可以看看Buzz Andersen的SFHFKeychainUtils將它們存儲在iPhone Keychain中。
首先,將SFHFKeychainUtils文件複製到您的項目中。點擊SFHFKeychainUtils.m並點擊獲取信息。轉到目標標籤並檢查目標附近的框是否已被選中。如果沒有,請檢查它。按住Control鍵並點擊您的Framework文件夾,然後選擇Add Existing Framework。找到Security.framework並將其添加到您的項目中。還請檢查通過爲SFHFKeychainUtils.m執行相同的過程將此框架添加到您的目標。現在在你想使用這段代碼的地方打開你的實現文件,並添加到頂部#import "SFHFKeychainUtils.h"
。
這是一個關於如何使用此代碼一個小例子:如果用戶有一個越獄的iPhone,他可以訪問com.domainname.app.plist和更改
// to store your data
NSError *error = nil;
[SFHFKeychainUtils storeUsername:kName andPassword:name forServiceName:kStoredName updateExisting:YES error:&error];
[SFHFKeychainUtils storeUsername:kScore andPassword:score forServiceName:kStoredScore updateExisting:YES error:&error];
// to get them back
NSString *name = [SFHFKeychainUtils getPasswordForUsername:kName andServiceName:kScoredName error:&error];
double score = [SFHFKeychainUtils getPasswordForUsername:kScore andServiceName:kScoredScore error:&error];
// kName, kScore, kStoredName, kStoredScore are defined key but you can use also strings with @"your string here".
// It is important that when you store and get back a value, username and serviceName must be the same.
如果這是你是在救然後NSUserDefaults應該罰款
// To store
[[NSUserDefaults standardUserDefaults] setObject:name forKey:@"name"];
[[NSUserDefaults standardUserDefaults] setDouble:score forKey:@"score"];
// To read back in
NSString *name = [[NSUserDefaults standardUserDefualts] objectForKey:@"name"];
double score = [[NSUserDefaults standardUserDefaults] doubleForKey:@"score"];
// Don't forget that your name is autoreleased - if you want to keep it, set it to a retained
// property or retain it yourself :)
你好謝謝回答,但以這種方式他的分數達到他想要的任何價值。我可以隱藏.plist的密鑰值 – 2011-03-27 10:54:19
啊,你從來沒有說過安全:)這種方式是最簡單的,但如果你想要安全使用@馬修的答案,而不是:) – deanWombourne 2011-03-27 11:23:42
鑰匙串不會保護用戶的數據。儘管訪問鑰匙串數據的確比訪問偏好更多,但它只是爲了保護用戶的數據(即不知道用戶密碼的用戶)。你也可以使用NSUserDefaults並使用存儲在應用程序代碼中的密鑰對值進行加密。 – 2011-04-06 15:30:58
- 1. jQuery mobile - 保存用戶輸入的最佳方式是什麼?
- 2. 什麼是存儲本地球員高分的最佳方式
- 3. 什麼是存儲高分的最佳方式?
- 4. 確保用戶名不是保留字的最佳方式是什麼?
- 5. 分析Feed時,本地保存的最佳方式是什麼?
- 6. 保存遊戲得分的最佳方式是什麼?
- 7. 什麼是存儲Windows服務的用戶名和密碼的最佳方式?
- 8. 保存和加載變量的最佳方式是什麼?
- 9. 什麼是存儲主機名和端口的最佳方式?
- 10. 用戶名密碼使用API的最佳方式是什麼?
- 11. 什麼是別名和方法名稱的最佳方式
- 12. 什麼是使用Firebase保存Java Enums的最佳方式
- 13. 訪問用戶名字的最佳方式是什麼?
- 14. 在DocumentDB中分隔租戶和主機名的最佳方式是什麼?
- 15. 存儲用戶權限的最佳方式是什麼?
- 16. 用這個SQL語句按用戶名分組的最佳方式是什麼?
- 17. 什麼是保存用戶界面對象的最佳方式iOS
- 18. 什麼是在android中保存數據的最佳和最合適的方式?
- 19. 將數據保存到文件的最佳方式是什麼?
- 20. 在ASP.NET中保存UICulture的最佳方式是什麼?
- 21. 在MySQL中保存KML的最佳方式是什麼?
- 22. 保存排序到sql的最佳方式是什麼?
- 23. 保存RichText(WYSIWYG輸出)的最佳方式是什麼?
- 24. 什麼是保存/加載Windows窗體的最佳方式ToolStripMenuItem
- 25. 什麼是保存遊戲狀態的最佳方式?
- 26. 什麼是遠程保存圖片的最佳方式?
- 27. 在sql server中保存視頻的最佳方式是什麼?
- 28. 保存表格中表格的最佳方式是什麼?
- 29. 在android中保存數據的最佳方式是什麼?
- 30. 什麼是保存ArrayList內容的最佳方式?
問題是,當我分配得分(雙值)發生錯誤無法比擬的類型 – 2011-03-27 11:45:13
嘗試將雙轉換爲字符串之前存儲分數,當你想要得到它迴轉換它再次成爲一個雙... – matteodv 2011-03-27 11:47:47
igot這些錯誤多次+ SFHFKeychainUtils.o中的[SFHFKeychainUtils storeUsername:andPassword:forServiceName:updateExisting:error:] SFHFKeychainUtils.o中的_kSecClassGenericPassword $ non_lazy_ptr – 2011-03-27 12:10:36