jp mobile を Tizenに対応させてみる

せっかく手に入ったTizenの実機なので小さくてもいいから何かをしようと思って

rails標準の携帯サポートgem、jpmobileを拡張してTizenに対応させました

本当はgemにしたかったのですが、jpmobile本体との競合がまだ解決できていないので

やっつけで機能を上書きです

まずは以下のコードをrailsプロジェクト配下に作成

lib/jpmobile_tizen.rb

$:.unshift(File.dirname(__FILE__)) unless $:.include?(File.dirname(__FILE__)) ||
                                          $:.include?(File.expand_path(File.dirname(__FILE__)))

module Jpmobile
  module Mobile
    autoload :Tizen,         'jpmobile/mobile/tizen'

    DEFAULT_CARRIERS_WITH_TIZEN = %w(Docomo Au Softbank Vodafone Emobile Willcom Ddipocket Iphone Android WindowsPhone Tizen)
    def self.carriers
      if @carriers.nil? || @carriers == DEFAULT_CARRIERS
        @carriers = DEFAULT_CARRIERS_WITH_TIZEN.dup
      end
      @carriers
    end
  end
end

lib/jpmobile/mobile/tizen.rb

module Jpmobile::Mobile
  # ==Tizen
  class Tizen < SmartPhone
    # 対応するUser-Agentの正規表現
    USER_AGENT_REGEXP = /Tizen/
  end
end

最後に「config/enviroment.rb」の行頭で

require "jpmobile_tizen"

を書いてあげれば対応作業完了です
試験は、実機を手に入れるのは難しいはずなので
FireMobileSimulator適当なAndroid端末を使えるようにして
User-Agentを

Mozilla/5.0 (Linux; Tizen 2.1; SEC_SC-001) AppleWebKit/537.3 (KHTML, like Gecko) Version/2.1 Mobile Safari/537.3

に書き換えてやれば大丈夫でしょう 


iPad対応の作業をしていた以下のサイトを参考にしただけなんですけどね

http://d.hatena.ne.jp/kusakari/20111107/1320645326

 

追記:

gemにしました

 rails向けにjpmobileをtizenに対応させるgemを書きました

投稿者 baban 2013/06/10 at 12:18

no comments no trackbacks

コメント

(leave url/email »)

前のコメント