All Projects → sgr-ksmt → SNSShare

sgr-ksmt / SNSShare

Licence: MIT License
Text/Image/URL share to Twitter/Facebook/LINE from App in Swift.

Programming Languages

swift
15916 projects
ruby
36898 projects - #4 most used programming language
objective c
16641 projects - #2 most used programming language

SNSShare

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

<key>LSApplicationQueriesSchemes</key>
<array>
  <string>line</string>
</array>

How to use

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

ErrorType

  • 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

Requirements

  • 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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].