我正在使用需要登錄Facebook的應用程序。即使應用程序離線打開應用程序,我也想使用該密碼和ID作爲使用。即使應用程序從後臺移除,用戶也可以先前加載的其他視圖控制器。現在我每次都獲取登錄頁面在離線這是我的初始視圖控制器。什麼是最好的方式來保存密碼和ID離線使用的應用程序xcode目標c
回答
最好的方法是將密碼保存在鑰匙串中。 This tutorial is a very good start.您可以從教程中的鏈接下載包裝器。 然後你可以在鑰匙串保存密碼如下:
#import "KeychainWrapper.h"
// Save the password in the device keychain
KeychainWrapper *keychainWrapper = [[KeychainWrapper alloc] init];
[keychainWrapper mySetObject:encryptedpwd forKey:(__bridge id)kSecValueData];
[keychainWrapper writeToKeychain];
以後可以恢復密碼:
// Retrieve the pwd from the device keychain
KeychainWrapper *keychainWrapper = [[KeychainWrapper alloc] init];
NSString *pwd = [keychainWrapper myObjectForKey:@"v_Data"];
由於該網站可能會脫機,因此不鼓勵僅僅鏈接到外部網站的答案。相反,您應該複製鏈接網站的相關部分,並添加鏈接以防人們想要了解更多信息。 – EmilioPelaez
將您的ID和密碼存儲在NSUserDefaults中。和您的登錄頁面已被設置爲初始視圖控制器,所以它加載每次之後的應用程序是爲killed.So,你可以採取NSUserDefaults的一個YES,並設置爲該值,如下圖所示
[[NSUserDefaults standardUserDefaults]setBool:TRUE forKey:@"isLoggedIn"];
寫以上代碼,成功登錄完成後。
現在在AppDelegate的DidFinishLaunchingWithOptions方法檢查下面的條件。
if([[NSUserDefaults standardUserDefaults]boolForKey:@"isLoggedIn"] == true){
// open your desired view controller
}
else{
// open Login View Controller
}
這是一個糟糕的主意。不要**以純文本形式存儲用戶名和密碼,默認情況下用戶名和密碼非常不安全。這正是[鑰匙串](https://developer.apple.com/library/content/documentation/Security/Conceptual/keychainServConcepts/iPhoneTasks/iPhoneTasks.html#//apple_ref/doc/uid/TP30000897-CH208-SW1 )是。請參閱https://stackoverflow.com/questions/16459879/how-to-store-a-string-in-keychain-ios,https://www.raywenderlich.com/92667/securing-ios-data-keychain-touch -id-1password –
然後,您可以編碼用戶名和密碼,然後將其保存在文檔directory.which將永遠安全 –
它不是不安全的存儲,它是它的加密部分 - 爲了保持用戶名和密碼隱藏,你需要正確加密它,這是非平凡的。而不是重新創建輪子(最可能的做法是錯誤的,因爲加密是困難的),使用專門爲此目的而存在的技術:鑰匙鏈是一個更好,更安全的想法。 –
- 1. 什麼是最好的方式來匹配一個密碼
- 2. 什麼是最好的方式來存儲使用php
- 3. 密碼保護HTML5離線應用程序目錄
- 4. 將用戶數據(電子郵件+密碼)保存到您的應用程序的最佳方式是什麼?
- 5. 最好的方式來分享Facebook應用程序ID /祕密開發測試
- 6. 保護Flex-BlazeDS應用程序的最佳方式是什麼?
- 7. 什麼是分離可以在線和離線使用的應用程序層的好策略?
- 8. iOS應用程序,保存用戶名和密碼的地方
- 9. 離線android應用程序的密碼保護
- 10. 用戶名密碼使用API的最佳方式是什麼?
- 11. 什麼是最好的方式來使用C#與MySQL不使用odbc
- 12. 保存用戶名和密碼使用目標c
- 13. C和C#應用程序之間IPC最快的方式是什麼?
- 14. 什麼是最好的方式來存儲用戶定製的jQuery-ui排序?
- 15. 使用sqlite離子應用程序離線保存圖像
- 16. 什麼是最好的方式來包裝第三方類c#
- 17. 使用密碼Zip NSData的最佳方式是什麼?
- 18. 什麼是最好的使用方式不存在並插入?
- 19. 什麼是存儲Windows服務的用戶名和密碼的最佳方式?
- 20. 爲什麼最好使用UUID來存儲唯一的ID值?
- 21. 使用C#設置功能保存密碼時的最佳做法是什麼?
- 22. 在Android應用程序中散列密碼的一些好方法是什麼?
- 23. 最好的方式來保存數據
- 24. 什麼是保存用戶名和高分的最佳方式
- 25. 什麼是最好的方式來清理URL中的標題
- 26. ,保存密碼的最佳方法是什麼?
- 27. 什麼是單頁的應用程序使用Disqus最好的方法?
- 28. 在iPhone應用程序中處理離線存儲的最佳方式是什麼?
- 29. 在android應用程序上離線存儲數據的最佳方式是什麼?
- 30. 部署Angular應用程序和vertx:什麼是最好的?
keycha I N – vadian
的[鑰匙扣](https://developer.apple。 com/library/content/documentation/Security/Conceptual/keychainServConcepts/01introduction/introduction.html)是唯一正確的方法。 –