Watson's Blog

RubyMotion で Parse を使ってみました

| Comments

Parse は、ユーザ認証やプッシュ通知といったサーバ側の実装が必要となる機能をあらかじめ用意してくれていて、アプリから単に API を呼び出すだけで簡単にそれらの機能を利用できてしまうという、すごく便利なサービスです。

Parse

ユーザ登録

さっそく、ユーザ登録をして Parse を使ってみましょう。「Try it for free」ボタンをクリックすると無料でユーザ登録できます。

sign up

メールアドレスとパスワードを入力すると、次に Parse を使うアプリ名を聞かれます。後ほど変更することもできるので適当な名前を入力しておきましょう。私は「HelloParse」と安易な名前を入力しました。

get started

Parse SDK をダウンロード

Quick Start ページで Parse SDK の簡単な導入方法について説明が書かれていますので、これに従って作業してみましょう。

「1 Choose your platform」で、"iOS" と “Existing Project” を選択しておきます。(“Existing Project” を選択しておくと、SDK のみをダウンロードしやすいので)。

Choose your platform

「3 Download & install the SDK」で、Parse SDK をダウンロードしておきます。

Download & install the SDK

RubyMotion アプリを作成

それでは、Parse SDK を使用した RubyMotion で「HelloParse」というアプリを作ってみましょう。

1
2
3
4
5
6
7
8
9
$ motion create HelloParse
    Create HelloParse
    Create HelloParse/.gitignore
    Create HelloParse/Rakefile
    Create HelloParse/app
    Create HelloParse/app/app_delegate.rb
    Create HelloParse/resources
    Create HelloParse/spec
    Create HelloParse/spec/main_spec.rb

先ほどダウンロードした Parse SDK を vendor ディレクトリに配置します。

1
2
$ cd HelloParse
$ mkdir vendor

parse-library-1.1.6.zip を解凍すると Parse.framework というディレクトリが展開されるので、このディレクトリを vendor ディレクトリにコピーします。

1
2
3
4
5
$ tree vendor/
vendor/
└── Parse.framework
    ├── Headers -> Versions/Current/Headers
...

Rakefile を編集

アプリで Parse SDK が使われるように Rakefile を編集し設定します。以下のように vendor_projectframeworkslibs を設定します。

1
2
3
4
5
6
7
8
9
10
11
12
Motion::Project::App.setup do |app|
  # Use `rake config' to see complete project settings.
  app.name = 'HelloParse'

  # Parse SDK
  app.vendor_project('vendor/Parse.framework',
                      :static,
                      :products => ['Parse'],
                      :headers_dir => 'Headers')
  app.frameworks += %w(AudioToolbox CFNetwork MobileCoreServices QuartzCore Security StoreKit SystemConfiguration)
  app.libs += %W(/usr/lib/libz.dylib /usr/lib/libsqlite3.dylib)
end

Parse SDK API を使ってみよう

app/app_delegate.rb
1
2
3
4
5
6
7
8
9
10
11
class AppDelegate
  def application(application, didFinishLaunchingWithOptions:launchOptions)
    Parse.setApplicationId("<Application-Id>",
                           clientKey:"<Client-Key>")

    obj = PFObject.objectWithClassName("TestObject")
    obj.setObject("bar", forKey:"foo")
    obj.save()
    true
  end
end

setApplicationId メソッドで使用している <Application-Id><Client-Key>Quick Start に書かれていたものを使用します。

Application ID & Client Key

rake でアプリを実行してみましょう。Quick Start に設置されていた「Test」というボタンをクリックすると、正しく動作したか確認することができます。

Test

次は Parse SDK を使って Push Notification に挑戦してみたいなと思います。Enjoy!

追記 [2014/02/05]

この記事を書いてから Parse.framework の構成が変わってしまい、この記事の手順通りに勧めただけではビルドができません。 Facebook SDK を追加していただくか、http://stackoverflow.com/questions/15457136/parse-for-ios-errors-when-trying-to-run-the-app/18626232#18626232 のように不足しているシンボルを追加します。

stackoverflow の手順を試したものを https://github.com/Watson1978/HelloParse に置いておきましたので、Facebook SDK を追加したくないという方は試してみてください。

Comments