介绍如何让用户依据已有的账号来进行登录注册呢?在利用中集成华为AGC认证服务SDK来轻松疾速地实现这个性能。
本篇内容依据官网文档领导集成过程总结实现,对于集成步骤,官网的材料写的有点多,当初我总结一下步骤:
1、开明华为认证服务
2、在iOS我的项目中集成SDK
3、设计登录注册页面
4、开启认证形式
5、注册登录性能开发
6、打包测试
开明华为认证服务在AppGallery Connect页面点击"我的我的项目",在我的项目的利用列表中抉择须要开明认证的利用,导航抉择"构建 > 认证服务"。如果是首次应用认证服务,请点击"立刻开明"开明服务。
集成SDK针对Xcode开发环境,您能够通过Cocoapods集成形式将认证 SDK集成到您的Xcode开发环境中。
1. 在Xcode我的项目中增加以后利用的AppGallery Connect配置文件。1) 登录AppGallery Connect网站,点击“我的我的项目”。
2) 在我的项目列表中找到您的我的项目,在我的项目下的利用列表中抉择您须要集成SDK的利用。
3) 点击“我的项目设置”中“利用”栏下的“agconnect-services.plist”下载配置文件。
4) 将“agconnect-services.plist”文件拷贝到利用级根目录下。
## 2. 创立Podfile文件。
关上命令行窗口,导航至Xcode我的项目所在的地位,创立Podfile文件。如果曾经存在,可跳过本步骤。
cd project-directorypod init3. 编辑Podfile文件。1) 集成认证SDK
编辑Podfile文件,减少pod依赖pod ‘'AGConnectAuth'。
target 'AGConnectAuthDemo' do pod 'AGConnectAuth' end2) 执行 pod install,而后关上.xcworkspace文件查看该我的项目。 # 界面设计本次Codelab中您能够在Xcode工程中创立一个布局页面,参照下图进行UI设计,通过手机号、邮箱账号进行注册登录。
开启认证形式1. 登录AppGallery Connect网站,点击“我的我的项目”。2. 在我的项目列表中找到您的我的项目,在我的项目下的利用列表中抉择您的利用。3. 在“构建”栏下找到“ 认证服务”,在"认证形式"页签下“操作”一栏里,点击启用手机号码、邮箱地址。
注册登录性能开发1. 在将故事板的控件关联到ViewController中,以便您通过输入框取得登录注册所需的参数。 @IBOutlet weak var phoneText: UITextField!//手机账号输入框 @IBOutlet weak var phoneVertifyText: UITextField!//手机验证码输入框 @IBOutlet weak var phonePassword: UITextField!//手机账号密码输入框 @IBOutlet weak var emailText: UITextField!//邮箱账号输入框 @IBOutlet weak var emailVertifyText: UITextField!//邮箱验证码输入框 @IBOutlet weak var emailPassword: UITextField!//邮箱账号密码输入框2. 如果应用的是未注册过的手机号,首先您须要发送验证码到手机,来验证是否自己注册。输出手机号码,点击“发送验证码”按钮,代码执行到申请手机验证码的办法,在返回中能够看到发送后果。@IBAction func phoneSendVertifyCode(_ sender: Any) { let setting = AGCVerifyCodeSettings.init(action: AGCVerifyCodeAction.registerLogin, locale: nil, sendInterval: 30) AGCPhoneAuthProvider.requestVerifyCode(withCountryCode: "86", phoneNumber: phoneText.text ?? "", settings: setting).onSuccess { (results) in //手机验证码发送胜利 }.onFailure { (error) in //手机验证码发送失败 } }3. 手机收到验证码后,输出验证码和您要设置的明码,就能够进行注册了。在页面上点击“register”按钮,执行手机号注册的办法,注册后果您也能够在block返回中看到。@IBAction func register(_ sender: Any) { AGCAuth.instance().createUser(withCountryCode: "86", phoneNumber: phoneText.text ?? "", password: phonePassword.text ?? "", verifyCode: phoneVertifyText.text ?? "").onSuccess { (result) in //手机注册胜利 }.onFailure { (error) in //手机注册失败 } }4. 注册胜利后,输入您的手机号和设置的明码,点击“login”按钮进行登录。这样您就实现了,应用AGConnectAuth进行手机号注册登录的步骤。@IBAction func login(_ sender: Any) { let credential = AGCPhoneAuthProvider.credential(withCountryCode: "86", phoneNumber: phoneText.text ?? "", password: phonePassword.text ?? "") AGCAuth.instance().signIn(credential: credential).onSuccess { (result) in //登录胜利 }.onFailure { (error) in //登录失败 } }5. 如果应用的是未注册过的邮箱账号,首先须要发送验证码到邮箱来验证。输出邮箱号码,点击“发送验证码”按钮,代码执行到申请邮箱验证码的办法,在返回中您也能够看到发送后果。@IBAction func emailSendVertifyCode(_ sender: Any) { let setting = AGCVerifyCodeSettings.init(action: AGCVerifyCodeAction.registerLogin, locale: nil, sendInterval: 30) AGCEmailAuthProvider.requestVerifyCode(withEmail: emailText.text ?? "", settings: setting).onSuccess { (result) in //邮箱验证码发送胜利 }.onFailure { (error) in //邮箱验证码发送失败 } }6. 邮箱收到验证码后,输出验证码和您要设置的明码,点击“register”按钮,就能够实现注册了。@IBAction func register(_ sender: Any) { AGCAuth.instance().createUser(withEmail: emailText.text ?? "", password: emailPassword.text ?? "", verifyCode: emailVertifyText.text ?? "").onSuccess { (result) in //邮箱注册胜利 }.onFailure { (error) in //邮箱注册失败 } }7. 注册胜利后,输入您的邮箱号和设置的明码,点击“login”按钮进行登录。这样您就实现了,应用AGConnectAuth进行邮箱注册登录的步骤。@IBAction func login(_ sender: Any) { let credential = AGCEmailAuthProvider.credential(withEmail: emailText.text ?? "", password: emailPassword.text ?? "") AGCAuth.instance().signIn(credential: credential).onSuccess { (result) in //登录胜利 }.onFailure { (error) in //登录失败 } }8. 调用signOut办法,退出登录状态。@IBAction func logout(_ sender: Any) { AGCAuth.instance().signOut() }打包测试1. 在Xcode上点击运行按钮,在手机或模拟器上运行利用。输出手机号码,点击“发送验证码”按钮,待手机收到验证码,输出验证码和您要设置的明码,点击“register”,打断点查看是否注册胜利,注册胜利后点击“login”。打断点查看返回后果,result能够看到登录胜利后的用户信息。
...