中安佑一(69)1623162件のシェア(すこし話題の記事)この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。廃止になることになり、TwitterがiOSで特別扱いされなくなります。「非推奨」ではなく「即廃止」なので、色々と泣きそうになりますね。今記事は新しく実装する方法も含めて、アプリにTwitter機能を搭載する方法を書きたいと思います。準備Twitterアプリの作成まず必要なのは「Twitterアプリ」です。ご存知かと思いますが、アプリはユーザとTwitterアプリを連携させることでTwitterの機能を利用することができます。作成画面へTwitterアプリの名前などそれぞれの必須項目を埋めます。これでTwitterアプリが作成されます。write」になっていることも確認しましょう(デフォルトではそうなっているはずですが)。いうライブラリをCocoapods経由で取得・使用することになります。URLスキームの設定を足してやります。他のスキーム設定がある場合はそこに追加する形になります。twitterkit-RpmNZTabcd1234abcd1234のような形です。下図のような形になり、アプリ設定を見ると下図のようになると思います。プロジェクトの場合はブリッジしてやらなければいけません。Xcodeプロジェクトの左ペインで適当な場所(たとえばルートグループ)を選択する。ファイル作成ダイアログを出す。<TwitterKit/TwitterKit.h>すでにブリッジファイルがある場合、最後の作業だけで大丈夫です。アラートでブリッジファイル作成のことを聞かれないこともあるので、その場合は手動でやっていく手もあります(「Bridging-Header」というキーワードで検索すれば見つかるかと思います)。初期設定をしてやります。シングルトンオブジェクトを呼び出して、それに対して処理を指示していく形になります。「作ったTwitterアプリを使うよ」ということを指示しています。情報を渡してあげます。サインイン時の外部アプリとのやりとりを指示するのですが、その内容はライブラリに丸投げするので、上記コードのよう実装してやるだけで大丈夫です。使ってTwitterの機能を使うことができます。下図)を表示するツイート投稿する失敗があればアラートを表示するまでをすべてやってくれます。初期値を決めたり、コンポーザの処理が終わったときの動きを作ったりする場合でも、下記のソースのようにしてやるだけでありません。他にも色々とあります。何もかもを自動的にやってくれるコンポーザの仕組みですが、実装は楽な分だけ自由度は損なわれます。ツイート投稿以外のAPIを叩きたいこともありますし、ツイート投稿をコンポーザ以外で行いたいこともあります。その場合はログイン状況などを自前で管理してやる必要がありますが、これもそこまで難しい話ではありません。session()メソッドでは最後にログインしているユーザの認証セッション情報(TWTRAuthSession)を取得できます。返るのでユーザ存在の判定ができます。[Any]が戻り値だが、中身は[TWTRAuthSession]Twitter.sharedInstance().sessionStore.existingUserSessions()を使用することになるでしょう。ログインするユーザにログインさせるのも実装は簡単です。下記のように実装します。print("@\(session.userName)でログインしました")}こうすると自動的に下図のような画面がモーダル表示され、あとはよしなにやってくれます。いうクラスを使用します。どのアカウント(認証セッション)を使用するかを最初に渡せば、あとはリクエストを作って投げてやるだけです。