LoginSignup
32
30

More than 5 years have passed since last update.

xcode6+swiftでtwitterアプリ作成

Last updated at Posted at 2014-07-12

関連資料

作成ソース
SLComposeViewControllerドキュメント

UI(Main.storyboard)

シンプルにtextviweとbuttonを利用して作成しました。

スクリーンショット_2014_07_06_17_33.png

@IBOutlet var twitter_content: UITextView //入力フォーム
@IBAction func twitter_btn(sender: AnyObject) // ボタン

処理内容(viewController.swift)

  • 使用フレームワークをインポートする
import UIKit
import QuartzCore
import Social

UIKit: テキスト入力フォームやボタン実装
QuartzCore: テキストフォームのスタイルを調整
Social: twitterに投稿

xcodeにiosフレームワークを追加する方法はこちら>>

  • viewDidLoad()にtextviewのスタイル設定

枠線表示と太さ

twitter_content.layer.borderWidth = 0.5

枠線の角を丸く

twitter_content.layer.cornerRadius = 3

枠線の色

twitter_content.layer.borderColor = UIColor.lightGrayColor().CGColor
  • twitterボタンがクリックされた場合のアクション(func twitter_btn)

twitter機能が使えるか

if SLComposeViewController.isAvailableForServiceType(SLServiceTypeTwitter) {

twitter用ソーシャル構成ビューコントローラオブジェクトを生成する

    var composectl:SLComposeViewController = SLComposeViewController(forServiceType: SLServiceTypeTwitter)     

textviewに入力した値をソーシャル構成ビューコントローラオブジェクトに設定

    composectl.setInitialText(twitter_content.text)

twitter投稿した時に呼ばれるハンドラ設定
投稿結果(SLComposeViewControllerResult)をパラメータで渡してDoneボタン、Cancelボタンが押された場合にログを出力する。

    composectl.completionHandler = {
        (result:SLComposeViewControllerResult) -> () in
            switch (result) {
                case SLComposeViewControllerResult.Done:
                    println("SLComposeViewControllerResult.Done")
                case SLComposeViewControllerResult.Cancelled:
                    println("SLComposeViewControllerResult.Cancelled")
            }
        }

twitterモーダルを表示する

        self.presentViewController(composectl, animated: true, completion: nil

補足

実行前、シミュレータの設定からtwitter認証を行う必要があります。
しかし、IOS8シミュレータにまだ認証機能が対応していないか不具合かは判断できないが認証が正しく行えません。対応策を知っている方、教えてください!!

32
30
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
32
30