         self.appVersion = appVersion
     }
     
-    public func userAgent() -> String {
+    @objc public func userAgent() -> String {
         let userAgentItems = [product, systemInfo, platform, platformDetails, uaBitMobile, appVersion]
         return removeEmptyComponentsAndJoin(uaItems: userAgentItems)
     }
     
-    public static func buildtUserAgent() -> ZypeUserAgentBuilder {
+    @objc public static func buildtUserAgent() -> ZypeUserAgentBuilder {
         return ZypeUserAgentBuilder(product: UserAgent.product, systemInfo: "(\(UIDevice.current.model.replacingOccurrences(of: " ", with: "")),3; CPU tvOS \(UIDevice.current.systemVersion.replacingOccurrences(of: ".", with: "_")) like Mac OS X)", platform: UserAgent.platform, platformDetails: UserAgent.platformDetails, uaBitMobile: UserAgent.uaBitMobile, appVersion: ZypeUserAgentBuilder.appNameAndVersion())
     }
-
+    
     /// Helper method to remove the empty components from user agent string that contain only whitespaces or are just empty
     private func removeEmptyComponentsAndJoin(uaItems: [String]) -> String {
         return uaItems.filter{ !$0.isEmpty }.joined(separator: " ")

    fileprivate var platformDetails: String
    fileprivate var appVersion: String
    fileprivate var uaBitMobile: String

    init(product: String, systemInfo: String, platform: String, platformDetails: String, uaBitMobile: String, appVersion: String) {
        self.product = product
        self.systemInfo = systemInfo

    public static let uaBitMobile = "Mobile/15E148"
}

@objc public class ZypeUserAgentBuilder: NSObject {
    // User agent components
    fileprivate var product: String
    fileprivate var systemInfo: String
