2016/10/26作成
- ニフティクラウドmobile backendの『会員管理機能』を利用してObjective-Cアプリにログイン機能を実装し、ユーザー情報を更新するサンプルプロジェクトです
- 簡単な操作ですぐに ニフティクラウドmobile backendの機能を体験いただけます★☆
- このサンプルはiOS10に対応しています
- iOS8以上でご利用いただけます
スマートフォンアプリのバックエンド機能(プッシュ通知・データストア・会員管理・ファイルストア・SNS連携・位置情報検索・スクリプト)が開発不要、しかも基本無料(注1)で使えるクラウドサービス!
注1:詳しくはこちらをご覧ください
- Mac OS Mojave
- Xcode ver. 11.0
- iPhone6s(iOS 13.1)
※上記内容で動作確認をしています
1. ニフティクラウドmobile backendの会員登録とログイン
- 上記リンクから会員登録(無料)をします。登録ができたらログインをすると下図のように「アプリの新規作成」画面が出るのでアプリを作成します
- アプリ作成されると下図のような画面になります
- この2種類のAPIキー(アプリケーションキーとクライアントキー)はXcodeで作成するiOSアプリにニフティクラウドmobile backendを紐付けるために使用します
- 動作確認後に会員情報が保存される場所も確認しておきましょう
2. GitHubからサンプルプロジェクトのダウンロード
-
下記リンクをクリックしてプロジェクトをダウンロードをMacにダウンロードします
- ダウンロードしたフォルダを開き、「ObjcSegmentUserApp.xcworkspace」をダブルクリックしてXcode開きます(白い方です)
- 「ObjcSegmentUserApp.xcodeproj」(青い方)ではないので注意してください!
AppDelegate.m
を編集します- 先程ニフティクラウド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.m
// 会員登録
// NCMBUserのインスタンスを作成
NCMBUser *user = [NCMBUser user];
// ユーザー名を設定
user.userName = self.userNameTextField.text;
// パスワードを設定
user.password = self.passwordTextField.text;
// 会員の登録を行う
[user signUpInBackgroundWithBlock:^(NSError *error) {
if (error) {
// 新規登録失敗時の処理
} else {
// 新規登録成功時の処理
}
}];
// ログイン
[NCMBUser logInWithUsernameInBackground:self.userNameTextField.text password:self.passwordTextField.text block:^(NCMBUser *user, NSError *error) {
if (error) {
// ログイン失敗時の処理
}else{
// ログイン成功時の処理
}
}];
SegmentUserViewController.m
// NCMBUserのインスタンスを作成
NCMBUser *user = [NCMBUser currentUser];
// ユーザー情報をデータストアから取得
[user fetchInBackgroundWithBlock:^(NSError *error) {
if(!error){
// ユーザー情報の取得が成功した場合の処理
} else {
// ユーザー情報の取得が失敗した場合の処理
}
}];
- 同じ内容の【Swift】版もご用意しています
- SwiftSegmentUserApp_iOS10