#Connect SDK iOS, Lite Version 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.
This repository contains the lite version of the Connect SDK project, and does not include support for platforms that require heavy and/or external dependencies. For the full Connect SDK, clone the main repository.
For more information, visit our website.
##Dependencies This project has the following dependencies:
libicucore.dylib
libz.dylib
- Other linker flags:
-ObjC
- Automatic Reference Counting (ARC)
- Connect-SDK-iOS-Core submodule
##Including Connect SDK in your app ###Using CocoaPods
- Add
pod "ConnectSDK/Core"
to yourPodfile
- Run
pod install
- Open the workspace file and run your project
You can use pod "ConnectSDK"
to get the full version.
###Without CocoaPods
- Clone repository (
git clone https://github.com/ConnectSDK/Connect-SDK-iOS-Lite.git
) - Set up the submodules by running the following command (in the
Connect-SDK-iOS/
directory in this example):git submodule update --init
- Open your project in Xcode
- Locate the Connect SDK Xcode project in the Finder
- Drag the Connect SDK Xcode project (
ConnectSDK.xcodeproj
) into your project's Xcode library - Navigate to your target's settings screen, then navigate to the "Build Phases" tab
- Add the following in the "Link Binary With Libraries" section
libConnectSDK.a
libz.dylib
libicucore.dylib
- Navigate to the "Build Settings" tab and add
-ObjC
to your target's "Other Linker Flags"
###Include Strings File for Localization (optional)
- Locate the Connect SDK Xcode project in the Finder
- Drag the ConnectSDKStrings folder into your project's library
- You may make whatever changes you would like to the values and the SDK will use your strings file
Connect SDK has tests for some parts of the code, and we are continuing to increase the test coverage. There are currently three types of tests:
Type | Target & Scheme | Frameworks used | Uses network | Fast | Reliable |
---|---|---|---|---|---|
Unit tests | ConnectSDKTests |
OCMock , OHHTTPStubs , XCTest |
- | + | + |
Integration tests | ConnectSDKIntegrationTests |
Expecta , OCMock , Specta |
- | + | + |
Acceptance (aka End-To-End) tests | ConnectSDKAcceptanceTests |
Expecta , OCMock , Specta |
+ | - | ± |
-
Unit tests are for small components and usually test one class/method. They use mocks to inject the dependencies.
-
Integration tests verify the behavior of the whole Connect SDK, but without external environment (network and devices), so that they can be reliable and fast.
-
Acceptance tests verify the end-to-end behavior of Connect SDK and real devices, so they won't work out of the box in a different environment. Some acceptance tests also expect certain properties of those devices, such as name or IP address, which should be altered to match your particular setup.
The required third-party test frameworks are already pre-built and included in the core
submodule.
All of the test targets are compiled when the main ConnectSDK
scheme is built, but only the unit tests are setup to run when testing the scheme. The other tests can be run by selecting the corresponding scheme.
##Limitations/Caveats
###Subtitles
- DLNA service supports
SRT
format only. Since there is no official specification for them, subtitles may not work on all DLNA-compatible devices. This feature has been tested and works on LG WebOS and Netcast TVs. - Netcast service supports
SRT
format only, through DLNA. - WebOS service supports
WebVTT
format only. Server providing subtitles should support CORS headers.
##Contact
- Twitter: @ConnectSDK
- Ask a question on Stack Overflow with the Connect-SDK tag (or TV tag)
- Developer Support: [email protected]
- Partnerships: [email protected]
##Credits Connect SDK for iOS makes use of the following projects, some of which are open-source:
- SocketRocket (Apache License, Version 2.0)
- modifications:
- stability
- self-signed certificate support
- avoid potential namespace collisions
- modifications:
- objc-guid (BSD 3-Clause revised)
- GCDWebServer (MIT)
- XMLReader (MIT)
- modifications:
- properly return an error if XML parsing has failed
- modifications:
- ASIHTTPRequest (MIT)
- xswi (MIT)
These projects are used in tests:
- OCMock (Apache License, Version 2.0)
- OHHTTPStubs (MIT)
- Specta (MIT)
- Expecta (MIT)
This public domain image is used in tests: The San Francisco peaks of flagstaff public domain image.
##License Copyright (c) 2013-2014 LG Electronics.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.