【Swift 開発】iOSアプリからfacebookでsnsシェアする方法
コラムアプリを開発の際にline,twitter,facebookでsnsシェア機能を導入する機会があったので、そのときの工程をまとめました。
- 1 facebook for developersで開発者登録
- 2 facebook for developersで投稿機能を使いたいアプリを登録
- 3 FacebookSDKでCocoaPodsでライブラリを導入
- 4 info.plistでライブラリの設定をする
- 5 投稿の内容を設定
facebook for developersで開発者登録
https://developers.facebook.com
上記のサイトでユーザー登録します。
facebook for developersで投稿機能を使いたいアプリを登録
https://developers.facebook.com
またも上記のサイトです。
「マイアプリ」>「新しいアプリを追加する」から投稿機能を導入したいアプリを登録します。
ここで登録したapp idとアプリ名をinfo.plistの設定のときに使います。
FacebookSDKでCocoaPodsでライブラリを導入
pod 'FBSDKCoreKit'
pod 'FBSDKLoginKit'
pod 'FBSDKShareKit'
上記をPodfileに追加します。
$ pod install
追加したライブラリをインストールします。
info.plistでライブラリの設定をする
<key>FacebookAppID</key>
<string>{your-app-id}</string>
<key>FacebookDisplayName</key>
<string>{your-app-name}</string>
<key>LSApplicationQueriesSchemes</key>
<array>
<string>fbapi</string>
<string>fb-messenger-share-api</string>
<string>fbauth2</string>
<string>fbshareextension</string>
</array>
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>CFBundleURLSchemes</key>
<array>
<string>fb{your-app-id}</string>
</array>
</dict>
</array>
これをinfo.plistに追加します。
投稿の内容を設定
import FBSDKCoreKit
import FBSDKShareKit
import FacebookShare
classの外でライブラリをimportします。
func fbShare() {
let content = ShareLinkContent()
content.contentURL = NSURL(string:url) as! URL
content.hashtag = Hashtag(text)
let dialog = ShareDialog()
dialog.shareContent = content
dialog.mode = ShareDialog.Mode.native
dialog.show()
}
シェアの種類は何種類かありますが、今回はシェアダイアログを使います。
まとめ
このような流れに沿えば、簡単に導入できたのではないでしょうか。
詳しいことは公式ドキュメントに載っていますので、気になればそちらも参考にしてください。
株式会社Knocknote代表取締役。大学卒業後不動産営業に従事した後、ITの重要性を強く感じエンジニアへ転職。ソーシャルゲーム開発、スマホアプリやPepperアプリの企画及び開発、高校でのプログラミング講師などの業務に携わる。2017年1月に創業。現在はプログラミング教育事業、システム開発事業を展開。今後は海外向けの教育事業をさらに拡大させていく事が目標。著書:『作って学べるUnity超入門』(技術評論者)