アプリにおける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じゃないといけないようです(昔からあるやつですね)
じゃあこっちでがんばるぞい。と思うんですが、生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)