anz blog

前後ったーリリースしたよ!

新作アプリをリリースしたよって言うお話です。

前後ったーというアプリをリリースしました!

です。

前後ったーとは

とあるツイートのその前後のツイート(同じ発信者のね)を表示してくれるアプリです。
「>RT」とかのツイートのみが自分のタイムラインに出てきたけど、肝心のツイートは流れてこない!みたいな?
そういう時に重宝するような感じのやつです

比較的新しいツイートであれば、それをツイートした人のタイムラインに飛んで、そこから遡ればちゃっと見つけられるでしょうけど...
ちょい前とかだったりすると、それではちょっと厳しい...めんどいよ...
と、同じようような思いを抱いたことがある人は是非使ってみて下さい(笑)

開発話

ここからは、とりとめもなく開発話を。。

実は一度諦めようとした

というのもの、最初は Twitter Api で GET statuses/user_timeline をたたけば、すぐでしょ!?とか思って作り始めたのですけど...
max_idとかsince_idがあって、countというパラメータでもあるので

max_idを指定してcountを指定したら、基準となるツイートより古いツイートは簡単に取得できます...
ただ!since_idcounntではちょっと期待してたとのと違う挙動なんですよね
(Twitterクライアント作ったことあるひとはわかるでしょうけど(笑))

たとえば、idが1から10までだとして、
{since_id:5, count:3}というかんじのパラメータ指定した場合、
3,4,5(あるいは、2,3,4)のidのものが取れると期待していたのですけど、
実際は1,2,3が取れるんですよね...。
since_idを指定しした場合は、あくまでもスタートは最新のものから...なんですよね。じゃ、こいつなんなのか?というと
{since_id:5, count:10}とした場合に効力を発揮するのです。
この場合返ってくるのは1,2,3,4,5となるわけです。

まぁ、たしかにツイッター公式クライアントアプリもこんな挙動ですもんね...

で、前後ったーのばあい、基準のツイート直近で前後がほしかったので、
基準より古いものはいいとして、新しいものができんやん!となりまして、諦めかけたというわけ。

でも良い感じにつくってたんで...

でも、RxSwiftをつかってさ、オレオレCleanArchitecture風にわりと真面目に組んでたので、なんかもったいないなーとかって思ったので、少しゴニョることにしたのです

GET statuses/user_timelineだけでは難しいので、GET search/tweetsも使いながら、なんとか基準のツイートの直近5件をとってくるようにしたと...

多分それなりにごいているはず。。
とおもったけど、searchのほう...1週間前までしか指定できないので、それ以上古いツイートの場合正常に動かないですわ...😇
(何か良い解決策思いついた方は教えてください...🙏)

NotAutoLayout をつかってみたぞ

技術書典にいってきた時にで購入した薄い本をよんで使ってみたくなったので(笑)
(実は以前にもQiitaでみて面白いな〜とか思ってたりしたけどw)
とはいっても、ほぼUITableView一枚とアレなんで,,,アレですけど。
唯一少し使った感があるのは、最初の連携画面のところでしょうかね...😇

リジェクトくらった

機能が小さいのですんなり通るだろうな〜とかって思ってたので意外だった(笑)
でもその理由は、本筋じゃないところでしたけど。
「デモ用のツイッターアカウントで連携できんぞ!」
的な感じ
いやいや、できるでしょ!とか思ったのだけれど、送られてたスクリーンショットをみると...
なんかメールアドレスを入力しろ!と言われている画面でした...
どうやら

僕「Twitterアカウントが必要だから、idとpassを書いて申請しましょ」
レビュアー「お、アカウントが必要なのか、どれどれ...ログイン!」
ツイッターさん「あれ?このブラウザ..OS、、、いつもと違うぞ。。これは乗っ取られているのか!?idとpassは合っているけどちょっと怪しいから、登録してあるメアドも入力してよ!」
レビュアー「メアド....そんな情報は...ないな。ハイ、りじぇくとぉぉぉ!!!」

という流れっぽ。
ってことで、Twitterアカウント必須な場合、メアドも書いておいたほうが...いいですよ?(笑)


参考

GET statusex/user_timeline
Standard search api
Auto Layout を使わずにわかりやすいコードでレイアウトが組めるフレームワーク NotAutoLayout - Qiita
TwitterKitを使って連携すると期待している通りに動かない
Twitter Kit SDKのサポート終了のお知らせ
☝️まじかよ....