NCMBではSwift向けにSDKをリリースしています。最近ではiOSアプリを作る際にSwiftを利用することが増えていますので、その場合にはネイティブ言語で実装されているSwift SDKの利用をお勧めします。
そんなSwift SDKの使い方を知ってもらうためにも、ちょっとしたアプリ(認証アプリ)を作ってみました。徐々に機能を追加していきますので、Swift SDKの利用法をぜひ覚えてください。
Swift SDKの導入法
Swift SDKはCocoaPods向けに提供しています。Xcodeで新しいiOSプロジェクトを作ったら、Podfileを用意します。
# Uncomment the next line to define a global platform for your project # platform :ios, '9.0' target 'todoapp' do # Comment the next line if you don't want to use dynamic frameworks use_frameworks! # Pods for todoapp pod 'NCMB', :git => 'https://github.com/NIFCLOUD-mbaas/ncmb_swift.git' end
そして pod install
でSwift SDKをインストールします。
初期化について
現在、新規でiOSアプリを作成すると、InterfaceがSwiftUI、Life CycleがSwiftUI Appとなっています。この状態で作ると AppDelegate.swift
はなく、 (アプリ名)App.swift
というファイルが作られます。
この場合、まずSwift SDKを読み込みます。
import SwiftUI import NCMB // 追加
そして var body
の上に @Environment
を追加します。
@Environment(\.scenePhase) private var scenePhase // 追加 var body: some Scene {
最後に WindowGroup
に onChange
を追加します。このonChangeの中で初期化処理を行います。
WindowGroup { ContentView() } .onChange(of: scenePhase) { scene in switch scene { case .active: NCMB.initialize(applicationKey: "YOUR_APPLICATION_KEY", clientKey: "YOUR_CLIENT_KEY") } }
これで利用可能になります。
UIについて
デモアプリの画面は全部で3つです。メイン画面、ユーザ登録画面、ログイン画面になります。
メイン画面
メイン画面はユーザ登録画面、ログイン画面へ遷移するボタンと、ログアウト、そしてログインしているユーザ情報を簡易的に表示します。
ログインしていると表示が変わります。これはユーザ名とユーザのobjectIdになります。
ユーザ登録画面
ユーザ登録はユーザ名とパスワードを入力する画面になります。登録するとメイン画面に戻ります。
ログイン画面
ログイン画面も表示内容はユーザ登録画面と変わりません。ログインするとメイン画面に戻ります。
まとめ
NCMBを初期化したら、後は ContentView.swift にて実装を行います。次回の記事ではユーザ登録やログイン、ログアウト処理を実装します。