Latest 1.0.0
License MIT
Platforms ios 8.0, requires ARC

Build Status
Carthage Compatible
Pod Version

Warning: iOS9

Over iOS9.0,Requires LSApplicationQueriesSchemes for canOpenURL.
If you want to enable sharing to LINE, add line to LSApplicationQueriesSchemes


How to use

  • Create SNSData
let data = SNSShareData {
    $0.text = "text"
    $0.images = [image]
    $0.urls = [url]
  • share to SNS (e.g. Twitter) { result in
    switch result {
    case .Success(let posted):
      print(posted ? "Posted!!" : "Canceled!!")
    case .Failure(let e):

If a user posted share data, return result Success by completion closure.
else cancelled or other error occurred, return result Failure.

Other methods

  • SNSShare#availableSNSList()
    Return SNS service list that user can use.


  • NotAvailable(SNSType) If a user cannot share to SNS service.
  • EmptyData : If SNSShareData is EmptyData (has no text, image and url).
  • URIEncodingError : Failed URI encoding When select LINE and share text and URL.
  • UnknownError

Demo is here


  • iOS 8.0+
  • Xcode 7.0+(Swift 2+)

Installation and Setup

With CocoaPods

SNSShare is available through CocoaPods. To install
it, simply add the following line to your Podfile:

pod 'SNSShare'

and run pod install

With Carthage

  • Add the following to your Cartfile:
github "sgr-ksmt/SNSShare"
  • Run carthage update
  • Add the framework as described.

    Details: Carthage Readme

Manual install (for iOS7)

Clone this repository, then add SNSShare.swift to your Xcode Project.

Latest podspec

    "name": "SNSShare",
    "version": "1.0.0",
    "summary": "Text/Image/URL share to Twitter/Facebook/LINE from App in Swift.",
    "homepage": "",
    "license": "MIT",
    "authors": "Suguru Kishimoto",
    "platforms": {
        "ios": "8.0"
    "source": {
        "git": "",
        "tag": "1.0.0"
    "source_files": "SNSShare/**/*.swift",
    "requires_arc": true

Pin It on Pinterest

Share This