Skip to content
This repository has been archived by the owner on Apr 1, 2024. It is now read-only.

NIFCLOUD-mbaas/SwiftSegmentUserApp_iOS10

 
 

Repository files navigation

【iOS10 Swift】ユーザー情報を更新してみよう!

2016/10/26作成

画像01

概要

  • ニフクラmobile backendの『会員管理機能』を利用してObjective-Cアプリにログイン機能を実装し、ユーザー情報を更新するサンプルプロジェクトです
  • 簡単な操作ですぐに ニフクラmobile backendの機能を体験いただけます★☆
  • このサンプルはiOS10に対応しています
  • iOS8以上でご利用いただけます

ニフクラmobile backendって何??

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

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

画像02

動作環境

  • Mac OS 12.5.1 (Monterey)
  • Xcode Version 14.0
  • iPhone X (iOS 16)

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

作業の手順

1. ニフクラmobile backendの会員登録とログイン

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

画像03

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

画像04

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

画像05

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

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

  • SwiftSegmentUserApp

3. Xcodeでアプリを起動

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

画像09 画像06

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

画像08

4. APIキーの設定

  • AppDelegate.swiftを編集します
  • 先程ニフクラmobile backendのダッシュボード上で確認したAPIキーを貼り付けます

画像07

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

5. 動作確認

  • Xcode画面の左上、適当なSimulatorを選択します

  • iPhone7の場合は以下のようになります

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

  • アプリが起動したら、Login画面が表示されます

  • 初回は SignUp ボタンをクリックして、会員登録を行います

画像13

  • User NamePasswordを2つ入力して画像12ボタンをタップします
  • 会員登録が成功するとログインされ、下記ユーザー情報の一覧が表示されます
  • SignUpに成功するとmBaaS上に会員情報が作成されます!

画像14

  • ログインに失敗した場合は画面にエラーコードが表示されます
  • エラーが発生した場合は、こちらよりエラー内容を確認いただけます

新しいフィールドの追加

  • 新しいフィールドの追加をしてみましょう。"favorite"というフィールドを作り、中身には"music"と入れてみました。こうすることで、ユーザー情報に新しい属性を付与することができるようになります!
  • 編集が完了したら更新ボタンをタップして下さい

画像15

  • 更新後、tableViewが自動でリロードされ、追加・更新が行われていることがわかります。追加したフィールドは後から編集することが可能です

画像16

  • ダッシュボードから、更新ができていることを確認してみましょう!

画像17

解説

  • 下記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()
    }
}

参考

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Swift 99.4%
  • Ruby 0.6%