読者です 読者をやめる 読者になる 読者になる

Debuginfo

思考とアウトプット

SwiftでFacebook Messenger SDKを導入する

f:id:shoheik:20150328114955j:plain f:id:shoheik:20150328115002j:plain

二日ぐらい前にF8で発表されたやつですね。 アプリの表現力が上がるのは間違いないので実装しました。

Good Design InteriorというインテリアのECサイトを作ってます。 これに入れ込みます。商品を友達と相談して決める機能を追加するかたちになります。

とりあえず、Basicで。(Optimizedはガイドラインと合うか調べる必要がありそう)

1. Install Facebook SDK

2015年3月28日時点で、Cocoapodsに対応していないのでSDKをダウンロードしてきてインストールする

2. Facebook SDKをプロジェクトに取り込む

Xcode->Project->General tab->"Linked Frameworks and Libraries" -> '+' -> Add Other -> ~/Documents/FacebookSDK/FBSDKMessengerShareKit.frameworkを選択

3. ヘッダーファイルに下記を追加

(ヘッダーファイルの作り方は省略)

#import <FBSDKMessengerShareKit/FBSDKMessengerShareKit.h>

4. Info.plistに追加

f:id:shoheik:20150328115008p:plain f:id:shoheik:20150328115012p:plain

5. コードを書く

ボタン設置

UIViewをストーリーボードで設置してそこに差し込みました。

@IBOutlet weak var btnView: UIView!
override func viewDidLoad() {
       var fbBtn = FBSDKMessengerShareButton.rectangularButtonWithStyle(.Blue)
        fbBtn.addTarget(self, action: "_shareButtonPressed:" , forControlEvents: .TouchUpInside)
        //setting for fbBtn if needed
        self.btnView.addSubview(fbBtn)
        ...

ボタンが押されたイベント追加

FacebookのサンプルでAND(&)をとっててこれをSwiftにするのに時間を使いました。 sharingImageはUIImageオブジェクトです。差し込みたいImageを入れます。

    @IBAction func _shareButtonPressed(sender: AnyObject) {
        let result = FBSDKMessengerSharer.messengerPlatformCapabilities().rawValue & FBSDKMessengerPlatformCapability.Image.rawValue
        if result != 0 {
            // ok now share
            if sharingImage != nil {
                FBSDKMessengerSharer.shareImage(sharingImage, withOptions: nil)
            }
        } else {
            // not installed then open link. Note simulator doesn't open iTunes store.
            UIApplication.sharedApplication().openURL(NSURL(string: "itms://itunes.apple.com/us/app/facebook-messenger/id454638411?mt=8")!)
        }
    }

感想

はやくSwiftでサンプルが欲しいですね。 関数を探り探り感覚で実装する感じになってます^^;

今のレビューが終わったら早速バージョンを更新します! なのでアプリに入るのは4月上旬かな。

参考