HTTP / 2 ・认证令牌的方式のSwift制プッシュ通知送信ライブラリを作りました

mono0926 / apns

通过在GitHub上创建一个帐户为apns开发做出贡献。

github.com

昨日プッシュ通知ライブラリリりたいと呟いてましたが,早くも作ってしまいました(・‿・`)脳内イメージ通りのがそのまま形になった感じで,けっこう自信作です(・‿・ `)

baseいうFirebaseのようなサービスを使えば楽ではありますが,自分で处理を书く场合,HTTP / 2リクエスト时にセットする认证トークンの生成・検证处理がけっこう难しいです。また,その难しさゆえか比较的新しい(2015年12月から使えるようになった)という理由からか,この方式を使えるライブラリが少なめです。

くで语语语语语JS JS iOS iOS iOS iOS iOS iOS iOS iOS iOS iOS强い型で通知内容を组みたい,とも思います。

节点-apn /节点-apn

node-apn –:调用:用于Node.js的Apple Push Notification模块

github.com

Swift版では,VaporAPNSは良いなと思って使っていましたが,出したPRが却下されたり放置されてたりで,PR活动で自分の理想的な形に近づけるのは难しく感じ,一から作ってみました。

matthijs2704 / vapor-apns

vapor-apns –用于蒸汽的简单APNS库(快速)

github.com

(あと,VaporAPNSは认证密钥ファイルを加工して,そのオリジナルファイルをしれっと上书きする处理が入っていたり(カットしても动いたので谜🤔)と,よく见たら気になる点がちょくちょく…。)

使い方

READMEがまだちゃんと书けておらず,テストコードをコピペして载せただけになっていますそれ,それ见るだけで大​​体の使い方が分かると思います。基本的に,通知に必要な要素をそのままStructに通知内容はコードで书くこともできますし,指定したjsonファイルを読んでセットするdともできます(Codable最高😎)。

にのライブラリリを元に,GUIアプリとと作作りたいなとも思っていますが,今はそこまで时间取れなさそうなので,先になりそうです。

CLIツールくらいは用意しようかなと思いましたが,色々な引数を文字列でセットするより,このライブララリのテストコード弄って所望のプッシュ通知打った方が手っ取り早いかなと思ったりしています🤔

というわけで,とりあえず今の段阶では,目的に応じてどちらかで活用してみてください。

  • APNSライブラリのテストコードをいじって実行
  • 実行形式のSwiftPMプロジェクトを作って,APNS(https://github.com/mono0926/apns.git)への依存を追加してimport APNS (ただし现状ではmacOSでしか动かないので注意)

単体テストはほとんど书いていない件について

dライブラリ系は大体単体テスト书いてましたが,今回は気付いたらほとんど书かずでした。Codable活用したせいか,书いてもコスパ悪い(念のため确认,程度になってしまう)かなと感じてまたとが多かったり,でした。また,実际にプッシュ通知シュ届くかをたまに确认すれば,あとはSwiftの型の强さで安心できる感じでした。

とはいえ,本当は书くべきかなというところをサboった感もあるので,今后リファクタリングついでに,多少テスト追加していこかなとも思っています(・‿・`)


ちなみに今,プッシュ通知の本を书いていて(秋くらいに书き上げたい…),そのために细かいプッシュ通知を色々検证中なのですが,VaporAPNSでその细かいところが动いていないところがあって,PR出したりしていた势いでつい一から自作しちゃった感じです(・‿・`)

iOSプッシュ通知プログラミンミ完全グイド

iOS 11までのプッシュ通知シュログラグンミ完全网罗した本になる予定です。2017年9月公开目标で,新しいiOSリリースなどにも合わせて顺次アップデートしていく予定です。

leanpub.com

また,もし今バグがあっても,そうやってこの本を书きながら使っていく中で皆溃せるかな,と目论んでいます(・‿・`)

Interesting Posts