SNSShare
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
here
Demo isRequirements
- 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.