         }
     }
 
-    func shareViaTwitter(message: String?, images: [UIImage]?, URLs: [NSURL]?) {
+    public func shareViaTwitter(message: String?, images: [UIImage]?, URLs: [NSURL]?) {
         if self.canShareViaTwitter() {
             self.shareViaSLComposeViewController(SLServiceTypeTwitter, message: message, images: images, URLs: URLs)
         } else {


// MARK: Associated objects

extension UIViewController {

    private struct AssociatedObjectKeys {
        static var sharingBarButtonItemTintColor = "UIViewController.sharingBarButtonItemTintColor"

        return false
    }

    public func canShareViaSinaWeibo() -> Bool {
        return SLComposeViewController.isAvailableForServiceType(SLServiceTypeSinaWeibo)
    }

    public func canShareViaTencentWeibo() -> Bool {
        return SLComposeViewController.isAvailableForServiceType(SLServiceTypeTencentWeibo)
    }

    public func shareViaActivityController(activityItems: [AnyObject], excludedActivityTypes: [String]?, applicationActivites: [UIActivity]?, completionItemsHandler:((activityType: String?, completed: Bool, returnedItems: [AnyObject]?, activityError: NSError?) -> ())?) {
        let activityController = UIActivityViewController(activityItems: activityItems, applicationActivities: applicationActivites)
        activityController.excludedActivityTypes = excludedActivityTypes

