akadama

そこらへんにいるプログラマが適当にやってます

RubyMotionでPixateを使う

数ヶ月触ってなかったRubyMotionのリハビリついでに、前から使ってみたかったPixateが使えるのかを試してみた

RubyMotionとPixate

ちなみにRubyMotionとPixateというとすでに以下のような事例が出てます

ただどのエントリもPixateのSDKを別途ダウンロードすることが前提だったので、それcocoapodsとかでなんとかならないのかなーと思ってた

結論としてはなんとかなった
そのときのリポジトリはこれ↓

https://github.com/chiastolite/rubymotion_pixate_sample

gemの追加

追加したgemは以下の2つ

  1. cocoapodsを使うためのmotion-cocoapods
  2. pixateを使うためのmotion-pixate

ちなみにdotenvが入ってるのは後述するPixateのLicense keyをリポジトリに入れたくなかったから

Gemfilelink
1
2
3
4
5
6
7
source 'https://rubygems.org'

gem 'rake'
# Add your dependencies here:
gem 'motion-cocoapods', '~> 1.4.0'
gem 'motion-pixate', github: 'Pixate/RubyMotion-Pixate'
gem 'dotenv'

Pixate

Pixateのインストールはcocoapodsでできるようになってたので、Rakefileに追記してrake pod:installをすればインストールは完了

ちなみにPixateは無料利用も可能だけどライセンスキーは必要なのでサイトでユーザー登録が必要
http://download.pixate.com/key

Rakefilelink
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# -*- coding: utf-8 -*-
$:.unshift("/Library/RubyMotion/lib")
require 'motion/project/template/ios'

begin
  require 'bundler'
  Bundler.require
rescue LoadError
end

Dotenv.load

Motion::Project::App.setup do |app|
  # Use `rake config' to see complete project settings.
  app.name = 'pixate_test'

  app.pods do
    pod 'Pixate' # Pixateをcocoapodsを利用してインストール
  end
  app.pixate.user = ENV['PIXATE_USER'] # pixateのユーザー名
  app.pixate.key  = ENV['PIXATE_KEY']  # pixateのライセンスキー
  app.pixate.framework = 'vendor/Pods/Pixate/Framework/iOS/Pixate.framework/' # インストールされたPixateの場所を指定
end

あとは↓のようにコマンドを叩けば使えるようになる

Rakefilelink
1
2
3
4
5
6
7
8
# デフォルトのsass/cssファイルを作成(初回のみ実行)
$ rake pixate:init

# sassのコンパイル(sass/*.sassを変更した場合のみ)
$ rake sass

# 実行
$ rake

便利!