自分のアプリのボタンタップで、
Twitterアプリ、もしくはSafari経由でWebのTwitterへ、任意の文章をツイートする機能を実装したのでメモ。
今回はUniversalLinksを使用しての実装をしてみた。
以前まではTwitterKit等を使用して実装できたようだが、
サポートが現在終了しているよう。(2019/07/02現在)
実装
1 2 3 4 5 6 7 8 9 10 11 12 | @IBAction func shareTwitterBtnAction(_ sender: UIButton) { //twitterに投稿したい文章をtextに入れる let text = "twitter用メッセージ" //.urlQueryAllowed : URLクエリ内で使用できる文字列で返却する guard let encodedText = text.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) else {return} guard let twitterURL = URL(string: "https://twitter.com/intent/tweet?text=\(encodedText)") else {return} UIApplication.shared.open(twitterURL, options:[:], completionHandler: nil) } |
実装自体は非常に簡単。
Twitterに投稿させたい文章を、URL用にエンコードし、
TwitterのURLに乗せて、UIApplication.shared.openで開く。
この実装で、端末にTwitterアプリがインストールされていれば、
アプリを起動し、投稿画面に遷移する。
インストールされていなければ、Safari経由でWebのTwitterの投稿画面に遷移してくれる。
どちらの場合もTwitterにログインしているアカウントがない場合は、
ログインをするように促す。
参考
こちらのページを参考にさせていただきました。
iOS の Twitter シェア簡易実装 2019
https://qiita.com/kumamotone/items/c1fe3dd5718d29cc94d0
以上。
コメント