TwitterでつぶやくプログラミングをベースにFacebookに投稿するプログラムを作成する

以下の記事のTwitterでつぶやくプログラミングをベースにして変更します。

Twitterでつぶやく – 実践!iPhoneプログラミング1

 

 

上記の記事で「SLComposeViewController」のインスタンスの引数で定数「SLServiceTypeTwitter」を指定していますがこの定数を「SLServiceTypeFacebook」に変更するだけでFacebookに投稿するようになります。

// この部分をSLServiceTypeFacebookに変更するとFacebookで投稿できる
composeView = SLComposeViewController(forServiceType: SLServiceTypeFacebook)

 

「ViewController.swift」の全てのコードは以下のとおりです。

import UIKit
import Social   // Facebookで投稿する場合はSocialをインポートする

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

    @IBAction func TweetTwitter(sender: AnyObject) {

        // SLComposeViewControllerの変数を宣言する
        var composeView:SLComposeViewController
        
        // この部分をSLServiceTypeFacebookに変更するとFacebookで投稿できる
        composeView = SLComposeViewController(forServiceType: SLServiceTypeFacebook)
        
        // 最初に表示するテキストを設定
        composeView.setInitialText("テストです〜")
        
        // Twitterでつぶやく画面を表示する
        self.presentViewController(composeView, animated: true, completion: nil)
    }

}

 

プログラムを実行してみる

実行すると以下のようになります。Twitterの時と同じようにアカウントが登録されていない場合は設定で自動的にアカウント登録ができます。

Facebook投稿プログラムの実行画面1

 

設定アプリでFacebookのユーザ名とパスワードを入力します。

Facebook投稿プログラムの実行画面1

 

Facebookのアカウント登録が完了して再度投稿してみると…

Facebook投稿プログラムの実行画面2

 

無事にFacebookで投稿できました〜 お疲れ様でした!

 

Facebook投稿プログラムの実行画面3

 

まとめ

  • Facebookでつぶやくには「SLComposeViewController」を使用する
  • インスタンス時に引数に定数「SLServiceTypeFacebook」を指定する
  • 「presentViewController」に「SLComposeViewController」の変数を指定してつぶやく画面を表示する。

 

次回からもどんどん実践的なプログラムを紹介します!