このページの本文へ

Twitter/Facebookと連携させるiOSアプリ開発 (3/3)

2015年07月17日 11時00分更新

文●森 巧尚

  • この記事をはてなブックマークに追加
本文印刷

共有アクションシートのボタンを全部表示する方法

共有アクションシートに全てのボタンを表示するには、先ほどのプログラムで「excludedActivityTypes」を指定する行をコメントアウトすればOKです。

共有のアクションシートに全てのボタンが表示されます。

「LINEで送るボタン」を追加する方法

Swiftには「LINEで送るボタン」が実装されていません。独自で作成する必要がありますが、よく使う部品はライブラリーとして公開されている場合があります。今回は「LINEActivity」ライブラリーを使って作ってみましょう。LINEActivityは共有のアクションシートにLINEで送るボタンを追加し、LINEへ投稿できるライブラリーです。

1)LINEActivityをダウンロードします。

LINEActivityはGitHubで公開されており、ページ右下の「Download ZIP」ボタンを押して、ライブラリーをダウンロードします。

2)LINEActivityのライブラリーを追加します。

ダウンロードしたLINEActivityをプロジェクトに追加します。

LINEActivity.zipを解凍してできるLINEActivityフォルダが、LINEへ送るボタン用のプログラムです。Objective-Cで書かれていますが、そのままSwiftでも使えます。

LINEActivityフォルダの中のファイルを全て選択して、ナビゲータエリアにドラッグして、「Finish」ボタンを押します。すると「これはObjective-Cのプログラムなので、Swiftに橋渡しするか?」というダイアログが出るので「Yes」を選択します。

これでLINEActivityライブラリーが追加されました。

3)Objective-CとSwiftの橋渡しをします。

橋渡し用のファイルとして生成された「プロジェクト名-Bridging-Header.h」(図ではsnstest2-Bridging-Header.h)に「#import “LINEActivity.h”」と記述します。これで、SwiftからObjective-Cのプログラムを呼び出せるようになります。

記述したプログラムは以下の通りです。


//(中略)
#import "LINEActivity.h"
//(中略)

4)ボタンを押したときに実行する関数を作ります。

UIActivityViewControllerに、以下のようにLINEActivityを追加すれば、LINEで送るボタンが表示されます。LINEは、1回の送信で文字か画像どちらか1種類送信できます。

記述したプログラムは以下の通りです。


//(中略)
@IBAction func tapShareBtn(sender: AnyObject) {
        // 共有する項目
        let shareImage = UIImage(named: "test.jpg")!
        let shareItems = [shareImage]
        
        // LINEで送るボタンを追加
        let line = LINEActivity()
        let avc = UIActivityViewController(activityItems: shareImage, applicationActivities: [line])
        
        
        presentViewController(avc, animated: true, completion: nil)
    }
//(中略)

LINEへ送るボタンが表示されます。

iOSアプリとSNSを連携させる方法を2つ紹介しました。

ボタンを押したら、すぐダイアログが出て投稿できるようにしたい場合は、「SLComposeViewController」を、一般的な共有アクションシートでシェアさせたい場合は、「UIActivityViewController」を使うとよいでしょう。

前へ 1 2 3 次へ

この連載の記事

一覧へ

この記事の編集者は以下の記事をオススメしています