IT業界で気づいたことをこっそり書くブログ

くすぶってるアプリエンジニアが、日々気づいたことを適当に綴っていきます(受託→ベンチャー→フリー→大企業→ベンチャー→起業)

iOS開発メモ TwitterKit、Twitter REST APIとかそのあたり

アプリにおけるTwitterって割りと鬼門な気がします。
何ができて何ができないかわからないし、バージョンによってコロコロ変わって、ドキュメントもちょっと甘く、認証周りでもハマり、もうツラみの極みです。
趣味で適当なアプリを作ろうとしてTwitter沼にハマることはよくあるのではないでしょうか。

 

というわけで2日くらいハマったのでメモ。

 

とりあえず今ならTwitterKitを使うことになるでしょう。

Twitter Kit for iOS — Twitter Developers

最近TwitterKit2から3に上がりました。2と3の違いは割愛。
iOS11でSocial.frameworkが使えなくなったようです。
なのでTwitterKitが必須なのですが、TwitterKit3がiOS8に対応していないので、iOS8含めるならTwitterKit2になります。
大体の人はTwitterKit3です。

わーいこれで大体のTwitter機能使えるぞ、と思ったらそうは行きません。
TwitterKit、調べてみると貧弱です。
いろいろなことができないのですが、特にUser情報がUserIDでしか取れないっぽいのが痛いです。

Access Twitter’s REST API — Twitter Developers

client.loadUser(withID: "12")

とかあるので行ける気がしてしまいますが、userIDって取るの大変なんですよね。皆に公開されているのはscreenNameです(@hogehogeという名前)
ここから情報を得るためには、TwitterKitではなく、Twitter REST APIじゃないといけないようです(昔からあるやつですね)

Docs — Twitter Developers

じゃあこっちでがんばるぞい。と思うんですが、生APIを叩くの超しんどいです。消耗して挫けます。

そこで登場するのがSwifterです。

GitHub - mattdonnelly/Swifter: A Twitter framework for iOS & OS X written in Swift

よっしゃーTwitter REST APIを叩くiOS向けライブラリだーと思って

pod 'Swifter'

と書くと何か通りません。なにかと思ったら他のライブラリと名前が競合しているようです😭
知らないライブラリが導入されました。。。

なのでちゃんと書きます。

pod 'Swifter', :git => 'https://github.com/mattdonnelly/Swifter.git'

さあこれで何でも取れるぞ!

と思うのですが、何か使えるAPIと使えないAPIがあります。
ひょっとしてこのドキュメント・・・・・・

 

あとこのSwifter、 ドキュメントがほぼありません、Twitterの公式ドキュメントを見りゃ分かるだろオラ、という感じです(もちろんだいぶ有り難いんですが)

実際Twitterの公式ドキュメント見れば何となく分かるんですが、独特なTwitter仕様で躓くことが多いです。
とは言えここまで来たら後はTwitter REST APIの話になってくるので、ググれば大体情報がつかめますね。サーバーサイドの方が情報は抱負なので。

 

以上。引き続き頑張ります(※起業じゃなくて趣味の方の開発w)