{
  "name": "ConnectSDK",
  "version": "1.3.1",
  "summary": "Connect SDK is an open source framework that connects your mobile apps with multiple TV platforms.",
  "description": "                    Connect SDK is an open source framework that connects your mobile apps with multiple TV platforms. Because most TV platforms support a variety of protocols, Connect SDK integrates and abstracts the discovery and connectivity between all supported protocols.\n\n                    To discover supported platforms and protocols, Connect SDK uses SSDP to discover services such as DIAL, DLNA, UDAP, and Roku's External Control Guide (ECG). Connect SDK also supports ZeroConf to discover devices such as Chromecast and Apple TV. Even while supporting multiple discovery protocols, Connect SDK is able to generate one unified list of discovered devices from the same network.\n\n                    To communicate with discovered devices, Connect SDK integrates support for protocols such as DLNA, DIAL, SSAP, ECG, AirPlay, Chromecast, UDAP, and webOS second screen protocol. Connect SDK intelligently picks which protocol to use depending on the feature being used.\n\n                    For example, when connecting to a 2013 LG Smart TV, Connect SDK uses DLNA for media playback, DIAL for YouTube launching, and UDAP for system controls. On Roku, media playback and system controls are made available through ECG, and YouTube launching through DIAL. On Chromecast, media playback occurs through the Cast protocol and YouTube is launched via DIAL.\n\n                    To support the aforementioned use case without Connect SDK, a developer would need to implement DIAL, ECG, Chromecast, and DLNA in their app. With Connect SDK, discovering the three devices is handled for you. Furthermore, the method calls between each protocol is abstracted. That means you can use one method call to beam a video to Roku, 3 generations of LG Smart TVs, Apple TV, and Chromecast.\n",
  "homepage": "http://www.connectsdk.com/",
  "license": {
    "type": "Apache License, Version 2.0",
    "file": "LICENSE"
  },
  "authors": {
    "Connect SDK": "support@connectsdk.com"
  },
  "social_media_url": "http://twitter.com/ConnectSDK",
  "platforms": {
    "ios": "6.0"
  },
  "source": {
    "git": "https://github.com/ConnectSDK/Connect-SDK-iOS.git",
    "tag": "1.3.1"
  },
  "source_files": [
    "ConnectSDK",
    "ConnectSDK/**/*.{h,m}"
  ],
  "exclude_files": [
    "ConnectSDK/Frameworks/asi-http-request/External/Reachability/*.{h,m}",
    "ConnectSDK/Frameworks/asi-http-request/Classes/*.{h,m}"
  ],
  "requires_arc": true,
  "frameworks": "GoogleCast",
  "libraries": [
    "z",
    "icucore"
  ],
  "prefix_header_contents": "                                  #define CONNECT_SDK_VERSION @\"1.3.1\"\n\n                                  // Uncomment this line to enable SDK logging\n                                  //#define CONNECT_SDK_ENABLE_LOG\n\n                                  #ifdef CONNECT_SDK_ENABLE_LOG\n                                      // credit: http://stackoverflow.com/a/969291/2715\n                                      #ifdef DEBUG\n                                      #   define DLog(fmt, ...) NSLog((@\"%s [Line %d] \" fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__);\n                                      #else\n                                      #   define DLog(...)\n                                      #endif\n                                  #else\n                                      #   define DLog(...)\n                                  #endif\n",
  "xcconfig": {
    "FRAMEWORK_SEARCH_PATHS": "$(PODS_ROOT)/google-cast-sdk/GoogleCastFramework-2.3.0-Release",
    "OTHER_LDFLAGS": "$(inherited) -ObjC"
  },
  "dependencies": {
    "google-cast-sdk": [
      "2.3.0.1"
    ]
  },
  "subspecs": [
    {
      "name": "no-arc",
      "source_files": [
        "ConnectSDK/Frameworks/asi-http-request/External/Reachability/*.{h,m}",
        "ConnectSDK/Frameworks/asi-http-request/Classes/*.{h,m}"
      ],
      "requires_arc": false
    }
  ]
}
