2016/10/26作成
- ニフクラmobile backendの『会員管理機能』を利用してObjective-Cアプリにログイン機能を実装し、ユーザー情報を更新するサンプルプロジェクトです
- 簡単な操作ですぐに ニフクラmobile backendの機能を体験いただけます★☆
- このサンプルはiOS10に対応しています
- iOS8以上でご利用いただけます
スマートフォンアプリのバックエンド機能(プッシュ通知・データストア・会員管理・ファイルストア・SNS連携・位置情報検索・スクリプト)が開発不要、しかも基本無料(注1)で使えるクラウドサービス!
注1:詳しくはこちらをご覧ください
- Mac OS 12.5.1 (Monterey)
- Xcode Version 14.0
- iPhone X (iOS 16)
※上記内容で動作確認をしています
1. ニフクラmobile backendの会員登録とログイン
- 上記リンクから会員登録(無料)をします。登録ができたらログインをすると下図のように「アプリの新規作成」画面が出るのでアプリを作成します
- アプリ作成されると下図のような画面になります
- この2種類のAPIキー(アプリケーションキーとクライアントキー)はXcodeで作成するiOSアプリにニフクラmobile backendを紐付けるために使用します
- 動作確認後に会員情報が保存される場所も確認しておきましょう
2. GitHubからサンプルプロジェクトのダウンロード
-
下記リンクをクリックしてプロジェクトをダウンロードをMacにダウンロードします
- ダウンロードしたフォルダを開き、「SwiftSegmentUserApp.xcworkspace」をダブルクリックしてXcode開きます(白い方です)
- 「SwiftSegmentUserApp.xcodeproj」(青い方)ではないので注意してください!
AppDelegate.swift
を編集します- 先程ニフクラmobile backendのダッシュボード上で確認したAPIキーを貼り付けます
- それぞれ
YOUR_NCMB_APPLICATION_KEY
とYOUR_NCMB_CLIENT_KEY
の部分を書き換えます - このとき、ダブルクォーテーション(
"
)を消さないように注意してください! - 書き換え終わったら
command + s
キーで保存をします
-
Xcode画面の左上、適当なSimulatorを選択します
-
iPhone7の場合は以下のようになります
-
実行ボタン(さんかくの再生マーク)をクリックします
-
アプリが起動したら、Login画面が表示されます
-
初回は
SignUp
ボタンをクリックして、会員登録を行います
User Name
とPassword
を2つ入力してボタンをタップします- 会員登録が成功するとログインされ、下記ユーザー情報の一覧が表示されます
- SignUpに成功するとmBaaS上に会員情報が作成されます!
- ログインに失敗した場合は画面にエラーコードが表示されます
- エラーが発生した場合は、こちらよりエラー内容を確認いただけます
- 新しいフィールドの追加をしてみましょう。"favorite"というフィールドを作り、中身には"music"と入れてみました。こうすることで、ユーザー情報に新しい属性を付与することができるようになります!
- 編集が完了したら更新ボタンをタップして下さい
- 更新後、tableViewが自動でリロードされ、追加・更新が行われていることがわかります。追加したフィールドは後から編集することが可能です
- ダッシュボードから、更新ができていることを確認してみましょう!
- 下記3点について解説します
- 会員登録
- ログイン
- 会員情報の取得
SignUpViewController.swift
let user = NCMBUser()
//ユーザー名を設定
user.userName = self.userNameTextField.text
//パスワードを設定
user.password = self.passwordTextField.text
//会員の登録を行う
user.signUpInBackground(callback: { result in
// TextFieldを空に
DispatchQueue.main.async {
self.cleanTextField()
}
switch result {
case .success:
// 新規登録成功時の処理
case let .failure(error):
// 新規登録失敗時の処理
}
})
}
// ログイン
NCMBUser.logInInBackground(userName: self.userNameTextField.text!, password: self.passwordTextField.text!, callback: { result in
// TextFieldを空に
DispatchQueue.main.async {
self.cleanTextField()
}
switch result {
case .success:
// ログインに成功した場合の処理
case let .failure(error):
// 新規登録失敗時の処理
}
})
SegmentUserViewController.swift
//会員情報をカレントユーザーから取得
func getUser() {
self.user = NCMBUser.currentUser
self.userKeys = Array(self.user._fields.keys)
// 追加fieldの値を初期化する
self.addFieldManager.keyStr = ""
self.addFieldManager.valueStr = ""
DispatchQueue.main.async {
self.tableView.reloadData()
}
}
- 同じ内容の【Objective-C】版もご用意しています
- ObjcSegmentUserApp_iOS10