スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

RailsでAPNSするときの注意点

ライブラリはこちらを使わせてもらう

jpoz / APNS


railsからapnsを使うためにgemfileに追記する


gem "apns"


bundle install


Apple Developer Centerからダウンロードした開発用.p12証明書を鍵とセットの証明書に変換

openssl pkcs12 -in 証明書.p12 -out apns.pem -nodes


証明書をRailsのプロジェクトディレクトリににアップロード

あとはアップロードしたファイルを指定して、指定のデバイスIDに送ればOK!

APNS.pem = Rails.root.join("cert","apns.pem")
APNS.send_notification(アプリから登録したデバイスID, "Hello iPhone!")




なはずだったのだが・・・・

なぜか英語の通知はできるのに日本語だと通知が行かない。



とりあえずtcpdump port 2195すると、正常に送れる時と送れない時で微妙に応答がちがう。。。

半日ぐらい悩んだ挙句、こちらにたどり着いた

APNS.pem = Rails.root.join("cert","apns.pem")
alert = String.new("はろーあいふぉん")
alert.force_encoding("ascii-8bit") if RUBY_VERSION.to_f >= 1.9
APNS.send_notification(アプリから登録したデバイスID, alert)



これで日本語もちゃんとpushできました。


参考にさせてもらったページ
https://github.com/jpoz/APNS
http://d.hatena.ne.jp/arcright/20120620/1340428736
http://atotok.net/note/rails/?incompatible+character+encodings%3A+ASCII-8BIT+and+U
スポンサーサイト

Leave a reply






管理者にだけ表示を許可する

Trackbacks

trackbackURL:http://epigonen190.blog.fc2.com/tb.php/54-cc93569e
該当の記事は見つかりませんでした。
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。