My company creates software to facilitate video streaming -- streaming software (like OBS or Shadowplay), transcode and distribution services (like Red5 or Wowza), and players (like VideoJS or jwPlayer). Unlike the software listed, our company provides added value by controlling the entire stack: we can inject metadata into the video on one end then read and react to this metadata on the other end, allowing for events to by synchronized with the stream (ad breaks, score display, interactive content, etc)
Currently we have about 20 clients who have requested iOS applications, and we've had to build these applications for them in-house manually. We have a common code base which handles all of our business logic, extracting and reacting to metadata, and then we perform asset swaps and add additional functionality as requested by the clients. As you can imagine, this is very tedious and doesn't scale well. We wish to release a library that clients can use to build their own applications without assistance, the same way we provide a JavaScript library for clients to embed a player on their websites.
For ad display, we currently rely on the IMA SDK. Therefore one of our apps currently looks like this:
-> App
|-> IMA SDK
And with our new library solution it to looks like this:
-> App
|-> Our Library
|-|-> IMA SDK
The problem is that this is a nested framework, which is not supported by iOS. Normally to circumvent this dependency issue, people rely on CocoaPods or Carthage. I can create a library and declare the Google IMA SDK as a dependency. Then anyone building an app using my library who runs "pod install" will have the Google IMA SDK automatically downloaded and included into their own project as a top-level framework, creating the following layout:
-> App
|-> Our Library
|-> IMA SDK
This works for iOS,
because it's available as a CocoaPod. However for tvOS
this is not the case. In order to add tvOS support to our library, we must link the tvOS framework manually. This prevents us from building a framework library and instead requires we distribute source code to be included in client applications directly, adding a lot of setup overhead and complexity.
If the tvOS IMA SDK were available as a CocoaPod, all of these troubles would melt away an we could just say "use CocoaPods"