我正在为iOS开发一个信使。
Apple要求对用户进行身份验证以限制匿名消息传递
来自指南https://developer.apple.com/appstore/resources/approval/guidelines.html 的22.6支持匿名或恶作剧电话或短信/彩信的应用程序 将被拒绝
所以我需要一个类似于WhatsApp的用户身份验证,它可以这样工作:
我已准备好服务器端。我现在唯一需要的是在手机上实现UI和身份验证过程。由于我的主应用程序准备就绪,我想知道如何在应用程序中嵌入身份验证。
我的建议是,如果用户尚未通过身份验证并需要他的电话号码,则会有一个模态显示的窗口。我是否必须检查用户是否在每次启动时都经过身份验证?
还有其他想法或建议吗?
答案 0 :(得分:2)
模态视图控制器是用户界面的绝佳选择。它的好处是 封装Web服务调用并在该视图控制器中处理它。
我会拒绝重新验证每个应用启动的用户,一旦成功验证一次,我可能会使用NSUserDefaults
来存储凭据,访问令牌或重新验证用户所需的任何识别信息(无需让用户知道重新验证。文档有examples on how to work with NSUserDefaults
,可以帮助您了解这方面的需求。
这种方法的要点是创建一个新的视图控制器子类来处理Web身份验证(并访问NSUserDefaults
),然后在现有视图控制器上以模态方式呈现它。
您可以在主视图控制器中执行以下操作(或者您希望从中提供身份验证的位置):
// ....
AuthViewController *authVC = [[AuthViewController alloc] init];
[self presentModalViewController:authVC animated:YES];
[authVC release];
// do your authentication from with AuthViewController
// ....
然后,无论采用何种方法表示身份验证已完成:
// ....
// note this is done within the AuthViewController
[self dismissModalViewControllerAnimated:YES];
// ....