iOS
...
Users
ParseGeoPointデータ型の制約付きクエリの実装ガイド
8 分
ユーザー登録 イントロダクション ほとんどの実世界のアプリケーションは、クライアントによりパーソナライズされたサービスを提供するために、ユーザーに基づく機能を利用します。これらの機能は、クライアントがアプリにサインアップすることを必要とします。 back4app プラットフォームと parseswift sdk parseswift sdk を使用することで、これらの機能をアプリに簡単かつ迅速に実装することができます。 前提条件 このチュートリアルを完了するには、次のものが必要です: back4appで作成された アプリ クエリをテストするための基本的なiosアプリ 目標 iosアプリでユーザー登録機能を実装することです。 parseswift sdk parseswift sdk 1 ユーザー登録フローの理解 iosアプリにサインアップオプションを統合するためには、次の parseuser parseuser プロトコルに準拠したオブジェクトを作成する必要があります。このプロトコルは、 back4app がログイン情報を保存および管理できるようにするために必要な主要なプロパティを実装します。以下のスニペットは、ユーザーオブジェクトをどのように実装できるかを示しています 1 import foundation 2 import parseswift 3 4 struct user parseuser { 5 // additional properties required by the parseuser protocol 6 var authdata \[string \[string string]?]? 7 var originaldata data? 8 var objectid string? 9 var createdat date? 10 var updatedat date? 11 var acl parseacl? 12 13 // main properties linked to the user's information 14 var username string? 15 var email string? 16 var emailverified bool? 17 var password string? 18 19 // a custom property 20 var age int? 21 } 上記のスニペットからわかるように、 parseswift parseswift はユーザーオブジェクトの非常に柔軟な実装を可能にします。 age age フィールドと同様に、必要に応じて追加のフィールドをいくつでも追加できます。 ユーザーオブジェクトが準備できたら、 user user オブジェクトに対して、 parseuser parseuser プロトコルが必要なすべてのユーザー操作を処理するためのメソッドのセットを提供します。これには、 サインアップ , ログイン , ログアウト , などが含まれます。 次のステップでは、サインアップリクエストを実装する方法を見ていきます。 2 サインアップリクエストの作成 ユーザーがアカウント情報を入力するための対応するフォームを追加することから始めます。 viewcontroller viewcontroller ( uiviewcontroller uiviewcontroller のサブクラス)をフォームを実装するクラスとします。以下のスニペットでは、基本的なサインアップフォームが持つべき重要な要素を示します 1 import uikit 2 import parseswift 3 4 class viewcontroller uiviewcontroller { 5 // user inputs 6 @iboutlet weak var usernametextfield uitextfield! 7 @iboutlet weak var emailtextfield uitextfield! 8 @iboutlet weak var passwordtextfield uitextfield! 9 10 // sign up button 11 @iboutlet weak var signupbutton uibutton! 12 13 override func viewdidload() { 14 super viewdidload() 15 16 // add additional code if needed 17 } 18 19 // called when the user taps on the signupbutton 20 @ibaction func handlesignup( sender any) { 21 guard let username = usernametextfield text, let password = passwordtextfield text else { 22 return showmessage(title "error", message "the credentials are not valid ") 23 } 24 25 signup(username username, email emailtextfield text, password password) 26 } 27 28 // this method prepares and registers the new user 29 private func signup(username string, email string?, password string) { 30 // todo here we will implement the signup action 31 } 32 33 // presents an alert with a title, a message and a back button 34 func showmessage(title string, message string) { 35 let alertcontroller = uialertcontroller(title title, message message, preferredstyle alert) 36 37 alertcontroller addaction(uialertaction(title "back", style cancel)) 38 39 present(alertcontroller, animated true) 40 } 41 } レイアウト部分は開発者に任せます。必要に応じて視覚コンポーネントを統合し、設定できます。 次に、次のステップで、 signup(username\ email\ password ) signup(username\ email\ password ) メソッドを実装します。 3 サインアップ機能の実装 ユーザーをサインアップするための最初のステップは、対応する資格情報を持つ ユーザー ユーザー オブジェクトのインスタンスを持つことです。 ユーザー名 ユーザー名 と パスワード パスワード フィールドは新しいユーザーを登録するために必須であり、残りのフィールドはオプションです。したがって、 ユーザー ユーザー オブジェクトをインスタンス化する一般的な方法は次のとおりです 1 var newuser = user(username "acoolusername", email "myemail\@domain net", password "mysecurepassword") 2 newuser age = 25 さらに、私たちはカスタムフィールドの初期値も提供する必要があります。私たちのケースでは 年齢 年齢 フィールドのように。 次のステップはサインアップアクションを実行することです。 parseuser parseuser プロトコルは signup( ) signup( ) メソッドを実装しており、これによりサインアップリクエストを back4app アプリケーションに送信できます。 signup( ) signup( ) の実装には3つのタイプがあります。使用ケースに応じて、適切なものを選択する必要があります。 さて、私たちは signup(username\ email\ password ) signup(username\ email\ password ) を viewcontroller viewcontroller で完了できます 1 class viewcontroller uiviewcontroller { 2 3 4 private func signup(username string, email string?, password string) { 5 var newuser = user(username username, email email, password password) 6 newuser age = 25 // warning this should be entered by the user, not hardcoded 7 8 //warning only use one of the following cases, the synchronous or the asynchronous case 9 10 // the below registers the user synchronously and returns the updated user object (stored on your back4app application) 11 do { 12 let signedupuser = try newuser signup() 13 showmessage(title "signup succeeded", message "\\(user)") 14 usernametextfield text = nil 15 emailtextfield text = nil 16 passwordtextfield text = nil 17 } catch let error as parseerror { 18 showmessage(title "error", message error message) 19 } catch { 20 showmessage(title "error", message error localizeddescription) 21 } 22 23 // the below registers the user asynchronously and returns the updated user object (stored on your back4app application) wrapped in a result\<user, parseerror> object 24 newuser signup { \[weak self] result in 25 switch result { 26 case success(let signedupuser) 27 self? showmessage(title "signup succeeded", message "\\(signedupuser)") 28 self? usernametextfield text = nil 29 self? emailtextfield text = nil 30 self? passwordtextfield text = nil 31 case failure(let error) 32 self? showmessage(title "error", message error message) 33 } 34 } 35 } 36 } 注意 新しいユーザーを登録する際、 signup( ) signup( ) メソッドは自動的にユーザーをログインさせるため、ユーザーがアプリを引き続き使用するために再度ログインする必要はありません。 アプリのライフサイクルの任意の時点で、現在ログインしているユーザーにアクセスすることができます。これは、 static プロパティが実装されている parseuser parseuser プロトコルから取得できます。 1 let loggedinuser user? = user current この リポジトリ では、上記の手順に従ったシンプルなユーザー登録アプリを見つけることができます。 結論 back4app プラットフォームは、 parseswift sdk parseswift sdk と共に、iosアプリにサインアップフローを統合するための迅速かつ簡単な方法を提供します。さらに、次のガイドでは、ログイン、ログアウトなどの残りの手順を探ります。