[Swift 1.1] なにはともあれTwitterとFacebookに何かしらシェアする機能を作る

More than 1 year has passed since last update.

はじめに

Playgroundではできないようです。

iOS Simulatorでアカウント設定

ナビゲーションバーとかに、Homeに行くボタンもあります。

Screen Shot 2014-11-14 at 10.06.22.png

なんだか見たことあるページに遷移します。
ここに設定します。

Screen Shot 2014-11-14 at 10.06.38.png

Screen Shot 2014-11-14 at 10.06.44.png

Screen Shot 2014-11-14 at 10.07.17.png

フレームワーク・ライブラリの読み込み

Linked Frameworks and Librariesから読み込みます。
Social.frameworkを読み込みます。

Screen Shot 2014-11-14 at 09.48.21.png

(iOS8.1で試したところ、これを読み込まなくても投稿できた。。。詳細は不明。)

シェアボタンの設置

なんだっていいのですが、シェアボタンを設置します。
今回はNavigation BarにUI Bar Button Itemでボタンを置きました。

Screen Shot 2014-11-14 at 09.50.52.png

コードを関連付ける

AssistantEditorを使い、ボタンをコードの方にCtrl+ドラッグアンドドロップします。
connectionにactionを選択し、action名を設定します。

Screen Shot 2014-11-14 at 09.55.37.png

大体のコード

import UIKit
import 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 twitter(sender: AnyObject) {
        // availability check
        if SLComposeViewController.isAvailableForServiceType(SLServiceTypeTwitter) {
            // make controller to share on twitter
            var controller = SLComposeViewController(forServiceType: SLServiceTypeTwitter)

            // add link to the controller
            let link: String = "http://www.apple.com"
            let url = NSURL(string: link)
            controller.addURL(url)

            // add text to the controller
            let title: String = "゚(゚´ω`゚)゚。ピー"
            controller.setInitialText(title)

            // show twitter post screen
            presentViewController(controller, animated: true, completion: {})
        }
    }
}

Screen Shot 2014-11-14 at 10.53.39.png

確認

Screen Shot 2014-11-14 at 10.54.13.png

できてる!簡単!

Facebookは?

ほぼおんなじフローで、コードとか、twitterのところをfacebookにするといいです。

詳しくはこのへんを見るといいです。公式はやっぱりわかりやすいです。

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.