- Xcode(Objective-C)で作成したiOSアプリから、ニフクラ mobile backendへデータ登録を行うサンプアプリです(Swift版はこちら)
- 「START DEMO」ボタンをタップするとクラウドにデータが上がります★
- 簡単な操作ですぐに ニフクラ mobile backendを体験いただけます
スマートフォンアプリのバックエンド機能(プッシュ通知・データストア・会員管理・ファイルストア・SNS連携・位置情報検索・スクリプト)が開発不要、しかも基本無料(注1)で使えるクラウドサービス!今回はデータストアを体験します
注1:詳しくはこちらをご覧ください
- Mac OS 12.5.1 (Monterey)
- Xcode Version 14.0
- iPhone X (iOS 16)
※上記内容で動作確認をしています。
1. ニフクラ mobile backendの会員登録とログイン→アプリ作成
- 上記リンクから会員登録(無料)をします。登録ができたらログインをすると下図のように「アプリの新規作成」画面が出るのでアプリを作成します
- アプリ作成されると下図のような画面になります
- この2種類のAPIキー(アプリケーションキーとクライアントキー)はXcodeで作成するiOSアプリにニフクラ mobile backendを紐付けるために使用します
- この後動作確認でデータが保存される場所も確認しておきましょう
- 下記リンクをクリックしてプロジェクトをダウンロードをMacにダウンロードします
- DB_Objective-C
- ダウンロードしたフォルダを開き、「DB_Objective-C.xcworkspace」をダブルクリックしてXcode開きます(白い方です)
AppDelegate.m
を編集します- 先程ニフクラ mobile backendのダッシュボード上で確認したAPIキーを貼り付けます
- それぞれ
YOUR_NCMB_APPLICATION_KEY
とYOUR_NCMB_CLIENT_KEY
の部分を書き換えます - このとき、ダブルクォーテーション(
"
)を消さないように注意してください! - 書き換え終わったら
command + s
キーで保存をします
- 左上の実行ボタン(さんかくの再生マーク)をクリックします
-
動作結果が画面に表示されます
-
保存に成功した場合:「
保存に成功しました。objectId:******
」 -
保存に失敗した場合:「
エラーが発生しました。エラーコード:******
」 -
objectIdはデータを保存したときに自動で割り振られるIDです
-
エラーが発生した場合は、こちらよりエラー内容を確認いただけます
-
保存に成功したら、ニフクラ mobile backendのダッシュボードから「データストア」を確認してみましょう!
-
TestClass
という保存用クラスが作成され、その中にデータが確認できます
サンプルプロジェクトに実装済みの内容のご紹介
- ニフクラ mobile backend のドキュメント(クイックスタート)をご覧ください
- このDEMOアプリは「CocoaPods」を利用する方法でSDKをインポートしています
Main.storyboard
でデザインを作成し、ViewController.m
にロジックを書いていますtestClass
オブジェクトに対してkey, value形式で値をセット(setObject
)し、saveInBackgroundWithBlock
メソッドを実行すると、非同期にてデータが保存されます
#import "ViewController.h"
#import "NCMB/NCMB.h"
@interface ViewController ()
@property (weak, nonatomic) IBOutlet UITextField *alertText;
@end
@implementation ViewController
- (IBAction)startBtn:(UIButton *)sender {
// 保存先クラスの作成
NCMBObject *obj = [NCMBObject objectWithClassName:@"TestClass"];
// 値を設定
[obj setObject:@"Hello,NCMB!" forKey:@"message"];
// 保存を実施
[obj saveInBackgroundWithBlock:^(NSError *error) {
if (error){
// 保存に失敗した場合の処理
NSLog(@"エラーが発生しました。エラーコード:%ld", error.code);
self.alertText.text = [NSString stringWithFormat:@"エラーが発生しました。エラーコード:%ld", error.code];
} else {
// 保存に成功した場合の処理
NSLog(@"保存に成功しました。objectId:%@", obj.objectId);
self.alertText.text = [NSString stringWithFormat:@"保存に成功しました。objectId:%@", obj.objectId];
}
}];
}
@end
- 同じ内容の【Swift】版もご用意しています
- https://github.com/NIFCLOUD-mbaas/iOS-Swift_DB_DEMO