いものやま。

雑多な知識の寄せ集め

iOSでアプリからTwitter・Facebookに投稿する方法について。

昨日はアプリからスクリーンショットを撮る方法を説明した。

今日は、それを実際にTwitterFacebookに投稿する方法について。

SLComposeViewController

ユーザにTwitterFacebookに投稿するためのダイアログを出すだけならけっこう簡単で、SocialフレームワークのSLComposeViewControllerを使えばいいみたい。
(Socialフレームワークのリファレンスを見てみると、他にもクラスが用意されてるんだけど、今回は未調査)

例えば、Twitterにツイートするためのダイアログを出すなら、以下のような感じ。

// GameScene.swift

import SpriteKit
import Social

class GameScene: TransitionableScene {
  // 省略

  private func shareWithTwitter() {
    // 省略

    // Twitterにツイートするためのダイアログを出すビューコントローラを生成
    if let composeViewController = SLComposeViewController(forServiceType: SLServiceTypeTwitter) {
      // 初期テキストを設定
      composeViewController.setInitialText(text)

      // 画像を追加
      composeViewController.addImage(image)

      // ビューコントローラを表示させる
      self.view?.window?.rootViewController?.presentViewController(composeViewController, animated: true, completion: nil)
    }
  }

  // 省略
}

なお、Facebookの場合、SLComposeViewControllerのコンストラクタのforServiceType引数にSLServiceTypeFacebookを指定すればいい。

今日はここまで!