Help us understand the problem. What is going on with this article?

<framework形式>SwiftでmBaaSを始めよう!

More than 3 years have passed since last update.

【お知らせ】こちらのドキュメントは古くなっています。最新版をご覧ください▼
<CocoaPods>SwiftでmBaaSを始めよう!(use_framewoks!を有効にした方法)

【Swift×mBaaS】シリーズ概要

手順

1. XcodeでSwiftのプロジェクトを作成する

  • 既存のプロジェクトを使う場合はとばして下さい。
  • 作成方法はさまざまなサイトや本に書いてあるかと思いますが、一応簡単なプロジェクトの作成方法を載せておきます。
    • Xcodeを開き、「File」→「New」→「Project...」を選択します。
    • iOS下の「Application」→「Singl View Application」選択し、「Next」を選択します。
    • 「Product Name」を記入し、「Language」は「Swift」を選択してください。
    • できたら「Next」を選択すると、保存先選択画面が出るので適当な場所に保存をしてください。

2. framework形式でiOS用SDKをインストールする

  • GitHubのリリースページからframework形式の最新版をダウンロードします。
  • ファイルの名はNCMB.2.X.X.zipを選んでください。※2.X.Xはバージョンです
  • SDKの最新バージョンにはframework形式が用意されていないので、用意されている最新のものをダウンロードすればOKです。

004.png

  • ダウンロードできた「NCMB」フォルダを、1.で作成した新規プロジェクトあるいは既存プロジェクトフォルダの中(XXXX.xcodeprojと同じディレクトリ)においてください。※XXXXはプロジェクト名です。
  • 次に新規あるいは既存のプロジェクトを開いてXcodeを立ち上げてください。(XXXX.xcodeprojをダブルクリックで開きます。)

007.png

  • 「Build Phases」をクリックしてください。
  • 「Link Binary With Libraries」の「+」をクリックしてください。
  • 一覧にはないので「Add Other...」を選択してください。
  • 先ほどダウンロードしたNCMB.frameworkを選択して「Open」をクリックしたらSDKのインストールは完了です。

3.ヘッダファイルを作成する

  • NCMB.frameworkをSwiftから利用できるようにするためにはヘッダーファイルを作成する必要があります。
  • Xcode左側のファイル一覧から、AppDelegate.swiftファイルと同じディレクトリにXXXXXXX-Bridging-Header.hを作成してください。※XXXXXXXのところは任意です。プロジェクト名とかを入れておくといいです。

    • AppDelegate.swift上で右クリックし→「New File...」を選択→iOS下の「Source」を選択→「Header File」を選択→「Next」をクリックするとファイル名を入力する画面が出ますので、「Save As:」の欄に「XXXXXXX-Bridging-Header」を記入「Create」をクリックするとファイルが作成されます。
  • 作成したファイルの中に下記の内容を追記してください。

XXXXXXX-Bridging-Header.h
#import <NCMB/NCMB.h>

4.XXXXXXX-Bridging-Header.hファイルをプロジェクトに読み込む

  • 「Build Settings」をクリックしてください。
  • 「Objective-C Bridging Header」をダブルクリックすると入力用のふきだしが出てくるので、そこにXXXXXXX-Bridging-Header.hのディレクトリを記入してください。
    • (例)User/[SRCROOT]/[PROJECT]/XXXXXXX-Bridging-Header.h

008.png

5. AppDelegate.swiftを編集する

  • ニフティクラウドmobil backendを使うために必要なAPIキーの設定とSDKの初期化処理はAppDelegate.swiftここに書いておきます。
  • またデータストアにデータを上げるサンプルコードもここに書くことで起動時にデータを保存できます。
  • 下記のコードをAppDelegate.swiftに貼り付けてください。
  • そのとき、2つのAPIキーをニフティクラウドmobil backendのダッシュボード上からコピーして書き換えてください。(※アプリケーションキーとクライアントキーをそれぞれ「YOUR_NCMB_APPLICATIONKEY」と「YOUR_NCMB_CLIENTKEY」の部分に書きます。)
AppDelegate.swift
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
    var window: UIWindow?
    //********** APIキーの設定 **********
    let applicationkey = "YOUR_NCMB_APPLICATIONKEY"
    let clientkey      = "YOUR_NCMB_CLIENTKEY"

    func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
        // Override point for customization after application launch.
        //********** SDKの初期化 **********
        NCMB.setApplicationKey(applicationkey, clientKey: clientkey)

        //********** 例)データストアにデータを保存 **********
        let query = NCMBQuery(className: "TestClass")
        query.whereKey("message", equalTo: "Hello, NCMB!")
        query.findObjectsInBackgroundWithBlock({(NSArray objects, NSError error) in
            if (error == nil) {
                if(objects.count > 0) {
                    let message = objects[0].objectForKey("message") as! NSString
                    print("[FIND] \(message)")
                } else {
                    var saveError: NSError?
                    let obj = NCMBObject(className: "TestClass")
                    obj.setObject("Hello, NCMB!", forKey: "message")
                    obj.save(&saveError)
                    if(saveError == nil) {
                        print("[SAVE] Done.")
                    } else {
                        print("[SAVE ERROR] \(saveError)")
                    }             
                }
            } else {
                print(error.localizedDescription)
            }
        })
        return true
    }
}

参考

natsumo
ニフクラ mobile backend の使い方をまとめています。
https://github.com/natsumo/
fjct
クラウド・IoT 関連サービスを開発・提供している企業です。(こちらは、富士通クラウドテクノロジーズの有志にて運営しております。)
https://fjct.fujitsu.com
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした