NCMBでは公式SDKとしてSwift/Objective-C/Kotlin/Java/Unity/JavaScript SDKを用意しています。また、それ以外にもコミュニティSDKとして、非公式ながらFlutter/React Native/Google Apps Script/C#/Ruby/Python/PHPなど幅広い言語向けにSDKが開発されています。
今回は公式SDKの一つ、Swift SDKを使って地図検索アプリを作ってみます。まず画面の仕様とSDKの初期化について解説します。
完成版のコード
作成したデモアプリのコードはNCMBMania/swift_map_appにアップロードしてあります。
ベースを作成する
今回はSwiftUIアプリとして開発しています。
画面について
今回は以下のViewを用意しています。
- ContentView
- StationView
- MapView
- ImportView
ContentView
タブバーを表示して、地図画面と設定画面を読み込みます。
StationView
地図画面用のViewです。
MapView
MapKit用です。MapKitのままではタップイベントなどに対応していないのでSwiftUIでマップを表示し、タップした座標にピンを立てるを参考に実装しています。
ImportView
駅情報をインポートするためのViewです。
NCMB SDKのインストール
NCMB SDKはFileメニューのAdd Packagesよりインストールできます。
記事執筆時点での最新版は 1.3.0
です。
NCMB SDKの初期化
まずContentView.swiftにてNCMB SDKをインポートします。
import NCMB
ContentViewにinit関数を追加して、SDKを初期化します。アプリケーションキーとクライアントキーはNCMBの管理画面で取得したものと書き換えてください。
struct ContentView: View {
// Viewの初期化時に呼ばれるメソッド
init() {
// NCMBの初期化
NCMB.initialize(applicationKey: "YOUR_APPLICATION_KEY", clientKey: "YOUR_CLIENT_KEY")
}
var body: some View {
// Viewの内容(省略)
}
}
これでNCMB SDKの利用準備が整います。
まとめ
今回は各画面の説明とNCMB SDKの初期化までを行いました。次回は位置情報データのインポートを実装します。