用于iPad应用程序的sskeychain和基本身份validation教程?

我在哪里可以find一个很好的详细教程使用sskeychain存储和检索用户名和密码,并在UIWebView中进行基本authentication? 其次,就存储和使用基于Web的应用程序的身份validation所需的方法而言,我是否正确? (请参阅下面的解释。)

我find了一些使用不同方法的教程:

  • 直接与钥匙串交互
  • 手工制作钥匙扣包装纸 (原文如此)
  • SFHFKeychainUtils

根据以下其他SO问题的build议,推荐使用sskeychain,以便于使用钥匙串来存储validation参数。

  • cocoa接口到MacOS X钥匙串
  • https://stackoverflow.com/questions/8381072/save-username-and-password-for-url-like-gmail-com-iphone

我的计划是按照build议在设备上本地存储钥匙串中的用户名和密码,并使用基本身份validation通过UIWebView连接到我的PHP代码。 对于经验丰富的iOS开发人员推荐的用户身份validation主题,有没有一个好的一步一步的教程xcode / Obj-C新手?

苹果文档似乎不太有用。 它不是简单的销售术语就是页面,或者只是方法和参数的imploding描述而没有很多有用的例子。

更新:

我结束了使用NSUserDefaults本地存储的用户名和密码和AFNetworking库进行身份validation。 如果这些是不明智的,我会欢迎一个答案,提供一个更好的方法指导。

如果你想做基本的authentication,你最好使用像AFNetworking这样的networking服务。 他们所有你创build一个webclient,通过一个用户名/密码组合,他们照顾其余的。

此链接显示您需要调用的确切的方法调用: http ://engineering.gowalla.com/AFNetworking/Classes/AFHTTPClient.html#//api/name/setAuthorizationHeaderWithUsername: password :

还有一个大型的社区和一大堆开发人员在所有types的iOS项目中使用AFNetworking的例子。

使用AFNetworking进行身份validation和呼叫服务器是伟大的! 但我会高度阻止你在NSUserDefaults存储凭证(用户名和密码),因为内容以纯文本forms存储在plist中,只需将设备插入到Mac即可读取。 我build议你检查这些 其他 问题和一个知名的案件的伟大的职位进一步细节的话题。

你是正确的Keychain 链 ,使用SSKeychain是容易和快速。 你可以find这个如何使用SSKeychain在本地存储凭证的好例子。

 // Store credentials in Keychain [SSKeychain setPassword:@"thePassword" forService:@"com.yourCompany.yourApp" account:@"theUserName"]; // Retrieve credentials from Keychain NSString *password = [SSKeychain passwordForService:@"com.yourCompany.yourApp" account:@"theUserName"]; 

我会推荐给你使用

密码箱

它轻巧,适用于ARC,易于使用。