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

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

iOS SDKが64bit対応 & オープンソース化!

皆さまからご要望を大変多くいただきましたiOS SDKの64bit化対応がついにリリースされました!バージョンは一気にあがって2.0となっています。1.0と異なる箇所がありますのでご注意ください。

SDKダウンロード(iOS) | ニフティクラウド mobile backend

1.xとの違い

1.x系と2.0の大きな違いは下記になります。iOS 6.0以降の対応になりますのでご注意ください。また、JSONKitが削除されています。

  • 対応OSバージョンがiOS 6.0 ~ 8.0に変更
  • アーキテクチャの64bit対応
  • オープンソースに伴いCocoaPodsでのインストール対応
  • JSONKit-masterの削除
  • 各クラスのメソッド変更・追加・削除

64bit化

2015年02月よりApp Storeでは64bit化されていないアプリはリジェクトされるという方針になっています。ニフティクラウド mobile backendをご利用の方、また今後利用される方はぜひバージョン2以降をご利用ください。

メソッドの追加、削除

複数のオブジェクトに対して変更が行われています。詳しくはこちらのVersion2に伴う変更点を参照してください。

オープンソース化!

iOS SDKはオープンソース・ソフトウェアとしてGitHubで公開されました。ライセンスはApache License 2.0になります。コードを見られるようになったことで、さらにデバッグしやすく、開発しやすくなったと思います。

NIFTYCloud-mbaas/ncmb_ios

CocoaPods対応

こちらも要望の多かったCocoaPods対応が完了しています。公式リポジトリからではないので、

# Podfile
platform :ios,'6.0'

target "HelloNCMB" do
   pod 'NCMB', git: 'git@github.com:NIFTYCloud-mbaas/ncmb_ios.git'
end

のようにしてご利用ください。

基本的なコード

利用に際して大きくは変わっていません。まず最初にNCMB.hをインポートします。

#import <NCMB/NCMB.h>

そして初期化します。

[NCMB setApplicationKey:@"APPICATION_KEY" clientKey:@"CLIENT_KEY"];

データストアの検索や保存処理を行うサンプルは以下の通りです。

NCMBQuery *query = [NCMBQuery queryWithClassName:@"TestClass"];
[query whereKey:@"message" equalTo:@"test"];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
  if (error == nil) {
    if ([objects count] > 0) {
      NSLog(@"[FIND] %@", [[objects objectAtIndex:0] objectForKey:@"message"]);
    } else {
      NSError *saveError = nil;
      NCMBObject *obj = [NCMBObject objectWithClassName:@"TestClass"];
      [obj setObject:@"Hello, NCMB!" forKey:@"message"];
      [obj save:&saveError];
      if (saveError == nil) {
        NSLog(@"[SAVE] Done");
      } else {
        NSLog(@"[SAVE-ERROR] %@", saveError);
      }
    }
  } else {
    NSLog(@"[ERROR] %@", error);
  }
}];

オープンソース化されたことで、不具合があった時のコードの確認がしやすくなり、開発効率が格段にアップするでしょう。もし使い方で不明点、問題点があったらユーザコミュニティを使って解決してください!

f:id:mbaasblog:20180927104348p:plain