- Xcode(Swift)で作成したiOSアプリから、ニフティクラウドmobile backendへデータ登録を行うサンプアプリです(Objective-C版はこちら)
- 「START DEMO」ボタンをタップするとクラウドにデータが上がります★
- 簡単な操作ですぐに ニフティクラウドmobile backendを体験いただけます
スマートフォンアプリのバックエンド機能(プッシュ通知・データストア・会員管理・ファイルストア・SNS連携・位置情報検索・スクリプト)が開発不要、しかも基本無料(注1)で使えるクラウドサービス!今回はデータストアを体験します
注1:詳しくはこちらをご覧ください
- Mac OS X 10.10(Yosemite)
- Xcode ver. 7.2.1
- Simulator ver. 9.2
- iPhone6(iOS 9.2)
※上記内容で動作確認をしています。
1. ニフティクラウドmobile backendの会員登録とログイン→アプリ作成
- 上記リンクから会員登録(無料)をします。登録ができたらログインをすると下図のように「アプリの新規作成」画面が出るのでアプリを作成します
- アプリ作成されると下図のような画面になります
- この2種類のAPIキー(アプリケーションキーとクライアントキー)はXcodeで作成するiOSアプリにニフティクラウドmobile backendを紐付けるために使用します
- この後動作確認でデータが保存される場所も確認しておきましょう
- 下記リンクをクリックしてプロジェクトをダウンロードをMacにダウンロードします
- DB_Swift
- ダウンロードしたフォルダを開き、「DB_Swift.xcworkspace」をダブルクリックしてXcode開きます(白い方です)
AppDelegate.swift
を編集します- 先程ニフティクラウドmobile backendのダッシュボード上で確認したAPIキーを貼り付けます
- それぞれ
YOUR_NCMB_APPLICATIONKEY
とYOUR_NCMB_CLIENTKEY
の部分を書き換えます - このとき、ダブルクォーテーション(
"
)を消さないように注意してください! - 書き換え終わったら
command + s
キーで保存をします
- 左上の実行ボタン(さんかくの再生マーク)をクリックします
-
ビルド時にエラーが発生した場合の対処方法
-
Xcodeのバージョンが古い場合
import NCMB
にエラーが発生し、上手くSDKが読み込めないことがあります -
その場合は【Swift】SDKの読み込みにuse framework!が使えない場合の対処方法をご覧いただき、別の読み込み方法をお試しください
-
動作結果が画面に表示されます
-
保存に成功した場合:「
保存に成功しました。objectId:******
」 -
保存に失敗した場合:「
エラーが発生しました。エラーコード:******
」 -
objectIdはデータを保存したときに自動で割り振られるIDです
-
万が一エラーが発生した場合は、こちらよりエラー内容を確認いただけます
-
保存に成功したら、ニフティクラウドmobile backendのダッシュボードから「データストア」を確認してみましょう!
-
TestClass
という保存用クラスが作成され、その中にデータが確認できます
サンプルプロジェクトに実装済みの内容のご紹介
- ニフティクラウドmobile backend のドキュメント(クイックスタート)をSwift版に書き換えたドキュメントをご用意していますので、ご活用ください
- SwiftでmBaaSを始めよう!(<CocoaPods>でuse_framewoks!を有効にした方法)
- <CocoaPods>SwiftでmBaaSを始めよう!
Main.storyboard
でデザインを作成し、ViewController.swift
にロジックを書いていますtestClass
オブジェクトに対してkey, value形式で値をセット(setObject
)し、saveInBackgroundWithBlock
メソッドを実行すると、非同期にてデータが保存されます
import UIKit
import NCMB
class ViewController: UIViewController {
// Main.storyboardで作成した「START DEMO」ボタン押下時の処理
@IBAction func startBtn(sender: UIButton) {
// 保存先クラスを作成
let obj = NCMBObject(className: "TestClass")
// 値を設定
obj.setObject("Hello,NCMB!", forKey: "message")
// 保存を実施
obj.saveInBackgroundWithBlock{(error: NSError!) in
if (error != nil) {
// 保存に失敗した場合の処理
print("エラーが発生しました。エラーコード:\(error.code)")
self.alertText.text = "エラーが発生しました。エラーコード:\(error.code)"
}else{
// 保存に成功した場合の処理
print("保存に成功しました。objectId:\(obj.objectId)")
self.alertText.text = "保存に成功しました。objectId:\(obj.objectId)"
}
}
}
// Main.storyboardで作成した動作確認結果表示用のテキストフィールド
@IBOutlet weak var alertText: UITextField!
}
- 同じ内容の【Objective-C】版もご用意しています
- https://github.com/natsumo/iOS-Objective-C_DB_DEMO