         return getNameByInfo(info)
     }
 
-    var bundleID: String? {
+    var monkeyking_bundleID: String? {
         return objectForInfoDictionaryKey("CFBundleIdentifier") as? String
     }
 }
 
 private extension String {
 
-    var base64EncodedString: String? {
+    var monkeyking_base64EncodedString: String? {
         return dataUsingEncoding(NSUTF8StringEncoding)?.base64EncodedStringWithOptions(NSDataBase64EncodingOptions(rawValue: 0))
     }
 
-    var urlEncodedString: String? {
+    var monkeyking_urlEncodedString: String? {
         return stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.URLHostAllowedCharacterSet())
     }
 
-    var base64AndURLEncodedString: String? {
-        return base64EncodedString?.urlEncodedString
-    }
-
-    var mk_QQCallbackName: String {
+    var monkeyking_base64AndURLEncodedString: String? {
+        return monkeyking_base64EncodedString?.monkeyking_urlEncodedString
+    }
+
+    var monkeyking_QQCallbackName: String {
 
         var callbackName = String(format: "QQ%02llx", (self as NSString).longLongValue)
         while callbackName.characters.count < 0 {

                        handleNewsWithURL(URL, mediaType: nil) // 没有 video 类型，默认用 news
                    }

                    if let encodedTitle = type.info.title?.base64AndURLEncodedString {
                        qqSchemeURLString += "&title=\(encodedTitle)"
                    }

                    if let encodedDescription = type.info.description?.base64AndURLEncodedString {
                        qqSchemeURLString += "&objectlocation=pasteboard&description=\(encodedDescription)"
                    }

                } else { // Share Text
                    qqSchemeURLString += "text&file_data="

                    if let encodedDescription = type.info.description?.base64AndURLEncodedString {
                        qqSchemeURLString += "\(encodedDescription)"
                    }
                }


private extension NSBundle {

    var monkeyking_displayName: String? {

        func getNameByInfo(info: [String : AnyObject]) -> String? {

