SwiftでFacebook Messenger SDKを導入する
二日ぐらい前に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に追加
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月上旬かな。
参考
- https://developers.facebook.com/docs/ios
- http://qiita.com/tsumekoara/items/91e04677fe5a9a89054b
- http://qiita.com/mokemokechicken/items/9d7b941a45a5534411c9
- http://stackoverflow.com/questions/29120892/using-objective-c-bitmask-in-swift
- https://developers.facebook.com/docs/ios/getting-started#configurePlist