ニフクラ mobile backend(mBaaS)お役立ちブログ

スマホアプリ開発にニフクラ mobile backend(mBaaS)。アプリ開発に役立つ情報をおとどけ!

XcodeのプレイグラウンドでmBaaSを試す

f:id:mbaasdevrel:20190405161845p:plain

Xcodeにはプレイグラウンドがあります。ちょっとしたコードを試したり、使い方を学ぶのにぴったりな機能です。難点としては外部のフレームワークを試す場合、Swiftで作られていないといけないという問題があります。そのためiOS向けのSDKではプレイグラウンドで試せませんでした。

しかし、その問題は解決しそうです。mBaaSからSwift SDKがDeveloper Previewながらリリースされました。これを使えば、XcodeのプレイグラウンドでmBaaSの機能が試せます。この記事ではその使い方を紹介します。

利用法

現在はライブラリ管理には登録していないので、今はソースコードをダウンロードまたはクローンするところからはじまります。

git clone git@github.com:NIFCloud-mbaas/ncmb_swift.git

プロジェクトを追加

既存のXcodeプロジェクトにダウンロードしたコード中にあるNCMB.xcodeprojを追加します。

f:id:mbaasdevrel:20190405161223p:plain

ビルドする

まずSwift SDKをビルドします。そうするとフレームワークが生成されます。この時、何かiPhoneシミュレータを選ぶのがコツです。そうしないとエラーになります。

f:id:mbaasdevrel:20190405161338p:plain

フレームワークを登録する

フレームワークをiOSプロジェクトのLink Binary With Librariesに登録します。

f:id:mbaasdevrel:20190405161400p:plain

プレイグラウンドを作成する

New Fileでプレイグラウンドを選びます。プロジェクトとしてのプレイグラウンドではないので注意してください。

f:id:mbaasdevrel:20190405161634p:plain

コードを書く

後はコードを書くだけです。まず初期化します。

NCMB.initialize(
  applicationKey: "YOUR_APPLICATION_KEY",
  clientKey: "YOUR_CLIENT_KEY"
)

例えばデータストアに保存するのは次のようなコードになります。setを使わないのでより柔軟なイメージで利用できます。

// testクラスのNCMBObjectを作成
let object : NCMBObject = NCMBObject(className: "test")

// オブジェクトに値を設定
object["fieldA"] = "Hello, NCMB!"
object["fieldB"] = "日本語の内容"
object["fieldC"] = 42
object["fieldD"] = ["abcd", "efgh", "ijkl"]

// データストアへの登録を実施
object.saveInBackground(callback: { result in
    switch result {
        case .success:
            // 保存に成功した場合の処理
            print("保存に成功しました")
        case let .failure(error):
            // 保存に失敗した場合の処理
            print("保存に失敗しました: \(error)")
    }
})

f:id:mbaasdevrel:20190405161845p:plain

まとめ

プレイグラウンドを使うことでスニペットであったり、コードを手軽に試せるようになります。データの保存を確認したり、検索するようなことも簡単です。ぜひプレイグラウンドをお試しください。

なお、Swift SDKは開発中であり、仕様が変更される可能性があります。その点留意した上でご利用ください。

NIFCloud-mbaas/ncmb_swift: ニフクラ mobile backend Swift SDK

中津川 篤司

中津川 篤司

NCMBエヴァンジェリスト。プログラマ、エンジニアとしていくつかの企業で働き、28歳のときに独立。 2004年、まだ情報が少なかったオープンソースソフトの技術ブログ「MOONGIFT」を開設し、毎日情報を発信している。2013年に法人化、ビジネスとエンジニアを結ぶDXエージェンシー「DevRel」活動をスタート。