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のユーザ名とパスワードを入力します。
Facebookのアカウント登録が完了して再度投稿してみると…
無事にFacebookで投稿できました〜 お疲れ様でした!
まとめ
- Facebookでつぶやくには「SLComposeViewController」を使用する
- インスタンス時に引数に定数「SLServiceTypeFacebook」を指定する
- 「presentViewController」に「SLComposeViewController」の変数を指定してつぶやく画面を表示する。
次回からもどんどん実践的なプログラムを紹介します!