All Projects → mergesort → Communicado

mergesort / Communicado

Licence: MIT license
A simpler way to share on iOS.

Programming Languages

swift
15916 projects
ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to Communicado

Ezshare
Easily share files, folders and clipboard over LAN - Like Google Drive but without internet
Stars: ✭ 182 (+600%)
Mutual labels:  sharing
mirotalk
🚀 WebRTC - P2P - Simple, Secure, Fast Real-Time Video Conferences Up to 4k and 60fps, compatible with all browsers and platforms.
Stars: ✭ 1,593 (+6026.92%)
Mutual labels:  sharing
capacitor-filesharer
Capacitor plugin to download and share files for the Web, Android and iOS! Stop the war in Ukraine!
Stars: ✭ 55 (+111.54%)
Mutual labels:  sharing
Server
☁️ Nextcloud server, a safe home for all your data
Stars: ✭ 17,723 (+68065.38%)
Mutual labels:  sharing
TeleType
Stream or share terminals over the web. Show off mad cli-fu, help a colleague, teach, or troubleshoot. end-to-end encrypted 🛡
Stars: ✭ 83 (+219.23%)
Mutual labels:  sharing
shared-react-components-example
An example of a mono-repository of shared React components libraries!
Stars: ✭ 85 (+226.92%)
Mutual labels:  sharing
Capsule
🎬 Cross-platform hotkey short video capture for games
Stars: ✭ 160 (+515.38%)
Mutual labels:  sharing
Meteor-Files-Demo
Demo application for ostrio:files package
Stars: ✭ 16 (-38.46%)
Mutual labels:  sharing
direct-net-share
share internet via Wifi direct on Android
Stars: ✭ 36 (+38.46%)
Mutual labels:  sharing
PyPPSPP
Python implementation of Peer-to-Peer Streaming Peer Protocol (PPSPP) [RFC7574]
Stars: ✭ 18 (-30.77%)
Mutual labels:  sharing
Vue Headful
Set document title and meta tags with Vue.js
Stars: ✭ 229 (+780.77%)
Mutual labels:  sharing
metabin
Advanced data sharing ecosystem - main repo
Stars: ✭ 15 (-42.31%)
Mutual labels:  sharing
next-share
Social media share buttons for your next React apps.
Stars: ✭ 145 (+457.69%)
Mutual labels:  sharing
Goploader
Easy file sharing with server-side encryption, curl/httpie/wget compliant
Stars: ✭ 205 (+688.46%)
Mutual labels:  sharing
tss-rb
A Ruby implementation of Threshold Secret Sharing (Shamir) as defined in IETF Internet-Draft draft-mcgrew-tss-03.txt
Stars: ✭ 22 (-15.38%)
Mutual labels:  sharing
Sharemeow
😻 text shots service
Stars: ✭ 180 (+592.31%)
Mutual labels:  sharing
joatu-v2
The JoatU application, version 2. Written in Ruby on Rails.
Stars: ✭ 27 (+3.85%)
Mutual labels:  sharing
2read
Convert article in current tab to readable form and upload it to P2P network - IPFS
Stars: ✭ 130 (+400%)
Mutual labels:  sharing
littlebox
Android app for simple seamless sharing of your files within Intranet/LAN
Stars: ✭ 12 (-53.85%)
Mutual labels:  sharing
limus
🎨 Make your screenshot/image more professional by rotating, adding shadow and more.
Stars: ✭ 101 (+288.46%)
Mutual labels:  sharing

Communicado

Sharing on iOS made easy.

BuddyBuild Pod Version Swift Version License MIT Plaform


Are you tired of rewriting the same sharing code over and over again?

Me too!

That's why I wrote Communicado! Let's show you how it's done.

Sharing

The first thing to know is can share from any UIViewController that conforms to SharingCapableViewController. Once you add this, you will get a share function on UIViewController which supports many built in sharing types.

You can share to:

  • Messages
  • Mail
  • Pasteboard
  • Photos
  • UIActivityController
  • Twitter (iOS 10.3 and lower)
  • Facebook (iOS 10.3 and lower)
  • Sina Weibo (iOS 10.3 and lower)
  • Tencent Weibo (iOS 10.3 and lower)

Each sharing destination takes in parameters. Let's try a simple example.

let heartImageData = UIImagePNGRepresentation(myHeartImage)
let attachment = Attachment(attachmentType: AttachmentType.png, filename: "heart.png", data: heartImageData)
let messageParameters = MessageShareParameters(message: "I ❤️ Communicado", attachments: [ attachment ])

Now let's call the ONLY method that's even available to you.

self.share(messageParameters)

And when you're done, you'll get one unified callback with the information of how the share attempt went.

self.sharingCompleted = { shareResult in
    print("Was successful? \(shareResult.success)")
    print("Sharing service: \(shareResult.sharingService)")
}

You can do the same for the other sharing destinations as well.

self.share(MailShareParameters)
self.share(SocialShareParameters)
self.share(ActivityShareParameters)
self.share(PhotosShareParameters)
self.share(PasteboardShareParameters)

Styling

You can also use Communicado to style the MFMailComposeViewController and MFMessageComposeViewController with just a few lines of code. This works around all of the hoops Apple makes you jump through to style the built in sharing controllers.

All you have to do is:

self.sharingTitleTextAttributes = [
    NSAttributedString.Key.foregroundColor : UIColor.white,
    NSAttributedString.Key.font : UIFont.systemFont(ofSize: 21.0)
]

self.sharingBarButtonItemAttributes = [
    NSAttributedString.Key.foregroundColor : UIColor.purple,
    NSAttributedString.Key.font : UIFont.systemFont(ofSize: 16.0)
]

self.sharingBackgroundColor = UIColor.blue

And get something that looks like this:

Beautiful, isn't it?

Requirements

  • iOS 9.0+
  • Xcode 8.0+

Installation

For Swift 3 support, use version 2.0.2.
For Swift 4 support, you can use version 3.0.
For Swift 4.2 support, you can use version 3.1 or above.
For Swift 5.1 support, you can use version 3.2.0 or above.

You can use SPM to install Communicado.

You can also use CocoaPods to install Communicado by adding it to your Podfile:

platform :ios, '9.0'
use_frameworks!

pod 'Communicado'

Or install it manually by downloading all the files in the Source folder and dropping them into your project.

About me

Hi, I'm Joe everywhere on the web, but especially on Twitter.

License

See the license for more information about how you can use Communicado. I promise it's not GPL, because I am not "that guy".

The end?

Yes, this is the end. Hopefully Communicado makes your life easier. It probably won't help you pay your rent, but it might make it easier to share in your app.

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