久しぶりにメンテすることになったプロジェクトでiOSのPush通知を送ろうしたらHTTP2::Error::ProtocolErrorっていうざっくりしたエラーがでてしまい困りました。

サーバーはRails、Push通知はApnoticというgemを使って送信しています。

Apnoticのissueを調べてみるとずいぶん前に報告されているissueがあり、それに該当しそうでした。

Rails app crashing when using integer value for header · Issue #42 · ostinelli/apnotic
Hi! I had notifiaction.apns_collapse_id = order.id and app was crashing with HTTP2::Error::ProtocolError (HTTP2::Error::ProtocolError) and no backtrace. Sometimes exception was rescued with message...

依存ライブラリのバージョンアップで直るとのことだったのでApnotic自体のバージョンをあげてしまい、不具合を回避できました。

今回のアップデートで1.3.0 → 1.4.1となりました。

1.3.0、↑のissueより新しいから直っていてもよさそうなもんですが、なんだったんでしょうねー。という感じ。