Skip to content
This repository has been archived by the owner on Apr 1, 2024. It is now read-only.

NIFCLOUD-mbaas/iOS-Objective-C_DB_DEMO

 
 

Repository files navigation

【iOS Objective-C】ニフクラ mobile backend を体験しよう!

画像1

概要

  • Xcode(Objective-C)で作成したiOSアプリから、ニフクラ mobile backendへデータ登録を行うサンプアプリです(Swift版はこちら
  • 「START DEMO」ボタンをタップするとクラウドにデータが上がります★
  • 簡単な操作ですぐに ニフクラ mobile backendを体験いただけます

ニフクラ mobile backendって何??

スマートフォンアプリのバックエンド機能(プッシュ通知・データストア・会員管理・ファイルストア・SNS連携・位置情報検索・スクリプト)が開発不要、しかも基本無料(注1)で使えるクラウドサービス!今回はデータストアを体験します

注1:詳しくはこちらをご覧ください

画像2

動作環境

  • Mac OS 12.5.1 (Monterey)
  • Xcode Version 14.0
  • iPhone X (iOS 16)

※上記内容で動作確認をしています。

手順

1. ニフクラ mobile backendの会員登録とログイン→アプリ作成

  • 上記リンクから会員登録(無料)をします。登録ができたらログインをすると下図のように「アプリの新規作成」画面が出るのでアプリを作成します

画像3

  • アプリ作成されると下図のような画面になります
  • この2種類のAPIキー(アプリケーションキーとクライアントキー)はXcodeで作成するiOSアプリにニフクラ mobile backendを紐付けるために使用します

画像4

  • この後動作確認でデータが保存される場所も確認しておきましょう

画像5

2. GitHubからサンプルプロジェクトのダウンロード

  • 下記リンクをクリックしてプロジェクトをダウンロードをMacにダウンロードします
  • DB_Objective-C

3. Xcodeでアプリを起動

  • ダウンロードしたフォルダを開き、「DB_Objective-C.xcworkspace」をダブルクリックしてXcode開きます(白い方です)

画像09

画像6

  • 「DB_Objective-C.xcodeproj」(青い方)ではないので注意してください! 画像08

4. APIキーの設定

  • AppDelegate.mを編集します
  • 先程ニフクラ mobile backendのダッシュボード上で確認したAPIキーを貼り付けます

画像07

  • それぞれYOUR_NCMB_APPLICATION_KEYYOUR_NCMB_CLIENT_KEYの部分を書き換えます
  • このとき、ダブルクォーテーション(")を消さないように注意してください!
  • 書き換え終わったらcommand + sキーで保存をします

5. 動作確認

  • 左上の実行ボタン(さんかくの再生マーク)をクリックします

画像12

  • シミュレーターが起動したら画像13ボタンをタップします

  • 動作結果が画面に表示されます

  • 保存に成功した場合:「保存に成功しました。objectId:******

  • 保存に失敗した場合:「エラーが発生しました。エラーコード:******

  • objectIdはデータを保存したときに自動で割り振られるIDです

  • エラーが発生した場合は、こちらよりエラー内容を確認いただけます 画像1

  • 保存に成功したら、ニフクラ mobile backendのダッシュボードから「データストア」を確認してみましょう!

  • TestClassという保存用クラスが作成され、その中にデータが確認できます

解説

サンプルプロジェクトに実装済みの内容のご紹介

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

参考

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Objective-C 94.9%
  • Ruby 5.1%