 
 import UIKit
 
-class SRKUtility: NSObject {
+@objc public class SRKUtility: NSObject {
 	
-	class func showErrorMessage(title:String, message:String, viewController:UIViewController) {
+	public class func showErrorMessage(title:String, message:String, viewController:UIViewController) {
 		let ac = UIAlertController(title: title, message: message, preferredStyle: UIAlertControllerStyle.Alert)
 		ac.addAction(UIAlertAction(title: LOCALIZE("Okay"), style: UIAlertActionStyle.Default, handler: { (action:UIAlertAction) -> Void in
 			ac.dismissViewControllerAnimated(true, completion: nil)

		viewController.presentViewController(ac, animated: true, completion: nil)
	}
	
	class var isRunningSimulator: Bool {
		get {
			return TARGET_OS_SIMULATOR != 0 // Use this line in Xcode 7 or newer
		}
	}
	
	class func base64_string_from_data(data:NSData) -> String {
		let base64EncodedString = data.base64EncodedStringWithOptions(NSDataBase64EncodingOptions(rawValue: 0))
		return base64EncodedString
	}
	
	class func base64_data_from_string(string:String) -> NSData {
		let data = NSData(base64EncodedString: string, options: NSDataBase64DecodingOptions(rawValue: 0))!
		return data
	}
	
	class func invokeRequestForJSONResponseDictionaryData(request:NSMutableURLRequest, Handler:(NSDictionary?, NSString?) -> Void) -> NSURLSessionDataTask {
		request.timeoutInterval = 20
		let task =  NSURLSession.sharedSession().dataTaskWithRequest(request, completionHandler: { (data:NSData?, response:NSURLResponse?, error:NSError?) -> Void in
			do {

		return task
	}
	
	public class func invokeRequestForJSON(request:NSMutableURLRequest, Handler:(AnyObject?, NSString?) -> Void) -> NSURLSessionDataTask {
		request.timeoutInterval = 20
		let task =  NSURLSession.sharedSession().dataTaskWithRequest(request, completionHandler: { (data:NSData?, response:NSURLResponse?, error:NSError?) -> Void in
			do {
