/ObjcLoginApp

Primary LanguageObjective-C

【iOS Objective-C】アプリにログイン機能をつけよう!

画像1

概要

ニフティクラウドmobile backendって何??

スマートフォンアプリのバックエンド機能(プッシュ通知・データストア・会員管理・ファイルストア・SNS連携・位置情報検索・スクリプト)が開発不要、しかも基本無料(注1)で使えるクラウドサービス!

注1:詳しくはこちらをご覧ください

画像2

動作環境

  • Mac OS X 10.10(Yosemite)
  • Xcode ver. 7.2.1
  • Simulator ver. 9.2

※上記内容で動作確認をしています。

手順

1. ニフティクラウドmobile backendの会員登録とログイン→アプリ作成

  • 上記リンクから会員登録(無料)をします。登録ができたらログインをすると下図のように「アプリの新規作成」画面が出るのでアプリを作成します

画像3

  • アプリ作成されると下図のような画面になります
  • この2種類のAPIキー(アプリケーションキーとクライアントキー)はXcodeで作成するiOSアプリにニフティクラウドmobile backendを紐付けるために使用します

画像4

  • 動作確認後に会員情報が保存される場所も確認しておきましょう

画像5

2. GitHubからサンプルプロジェクトのダウンロード

  • 下記リンクをクリックしてプロジェクトをダウンロードをMacにダウンロードします
  • ObjcLoginApp

3. Xcodeでアプリを起動

  • ダウンロードしたフォルダを開き、「ObjcLoginApp.xcworkspace」をダブルクリックしてXcode開きます(白い方です)

画像09

画像6

  • 「ObjcLoginApp.xcodeproj」(青い方)ではないので注意してください! 画像08

4. APIキーの設定

画像07

  • それぞれYOUR_NCMB_APPLICATION_KEYYOUR_NCMB_CLIENT_KEYの部分を書き換えます
  • このとき、ダブルクォーテーション(")を消さないように注意してください!
  • 書き換え終わったらcommand + sキーで保存をします

5. 動作確認

  • Xcode画面で左上の実行ボタン(さんかくの再生マーク)をクリックします

画像12

  • シミュレーターが起動したら、Login画面が表示されます
  • 初回は__SignUp__ ボタンをクリックして、会員登録を行います

画像14

  • User NamePasswordを2つ入力して画像13ボタンをタップします
  • 会員登録が成功するとログインされ、下記画面が表示されます
  • このときmBaaS上に会員情報が作成されます!
  • ログインに失敗した場合は画面にエラーコードが表示されます
  • 万が一エラーが発生した場合は、こちらよりエラー内容を確認いただけます

画像15

  • Logout ボタンをタップするとログアウトし、元の画面に戻ります
  • 登録された会員情報を使ってLogin画面からログインが可能です(操作は同様です)

画像1

解説

サンプルプロジェクトに実装済みの内容のご紹介

SDKのインポートと初期設定

ロジック

  • Main.storyboardでデザインを作成し、LoginViewController.m,SignUpViewController.m,LogoutViewController.mにロジックを書いています
  • ログイン、会員登録、ログアウト部分の処理は以下のように記述されます ※ただし、左記処理以外のコードは除いています

LoginViewController.m

/** ログイン **/
[NCMBUser logInWithUsernameInBackground:self.userNameTextField.text password:self.passwordTextField.text block:^(NCMBUser *user, NSError *error) {
    if (error) {
        // ログイン失敗時の処理


    }else{
        // ログイン成功時の処理

    }
}];

SignUpViewController.m

/** 会員登録 **/
//NCMBUserのインスタンスを作成
NCMBUser *user = [NCMBUser user];
//ユーザー名を設定
user.userName = self.userNameTextField.text;
//パスワードを設定
user.password = self.passwordTextField.text;

//会員の登録を行う
[user signUpInBackgroundWithBlock:^(NSError *error) {
    if (error) {
        // 新規登録失敗時の処理

    } else {
        // 新規登録成功時の処理

    }
}];

LogoutViewController.m

/** ログアウト **/
[NCMBUser logOut];

参考