- Adaptation to YouTube API change (#510)
- Adaptation to YouTube API change (#507, #504)
- Adaptation to YouTube API change (#501)
- New
XCDYouTubeErrorUnknown
error code (#484, #491) - New
XCDYouTubeErrorTooManyRequests
error code (comment) - Improve error message for
XCDYouTubeErrorNoStreamAvailable
code - Remove platforms in Swift Package Manager (#496)
- Adaptation to YouTube API change. (#487)
- Add new
XCDYouTubeErrorEmptyResponse
error (#479) - Adaptation to YouTube API change. (a048776eb0d87de869c1636e244d78ffb311adc6)
- Deprecated
-[XCDYouTubeVideo thumbnailURL]
use-[XCDYouTubeVideo thumbnailURLs]
(#477) - Exclude plist files from Swift Package Manager (#478)
- Annotate
languageIdentifier
argument asnullable
inXCDYouTubeVideoOperation
- Add new
author
,videoDescription
andchannelIdentifier
properties toXCDYouTubeVideo
(#471)
- Add the ability to specify which
streamURLs
to query via-[XCDYouTubeClient queryVideo:video:streamURLsToQuery:options:cookies:completionHandler:]
&XCDYouTubeVideoQueryOperation
class.initWithVideo:streamURLsToQuery:options:cookies:
is now the designated initializer forXCDYouTubeVideoQueryOperation
.
- Correctly annotate the
streamURLs
&streamErrors
properties asnullable
.
-[XCDYouTubeClient queryVideo:video:cookies:completionHandler:]
completion handler is now correctly called on the main thread.- Improved video querying to handle videos that have incomplete streams. (#456)
- Errors returned in
streamErrors
may contain theNSLocalizedRecoverySuggestionErrorKey
key in-[NSError userInfo]
whenNSURLErrorNetworkConnectionLost
is reported, this may indicate the file is incomplete on YouTube's server. - Add logging to
XCDYouTubeVideoQueryOperation
class. - Improved
-[XCDYouTubeVideoQueryOperation description]
.
- Fixed issue that caused certain videos to return error (#468)
- Add the ability to query
XCDYouTubeVideo
for reachable streams via-[XCDYouTubeClient queryVideo:video:cookies:completionHandler:]
&XCDYouTubeVideoQueryOperation
class - Add new
videoIdentifiers
property inXCDYouTubeVideo
(#290)
- Add the ability to use custom regular expression patterns via
-[XCDYouTubeClient getVideoWithIdentifier:cookies:customPatterns:completionHandler:]
&initWithVideoIdentifier:cookies:languageIdentifier:customPatterns
(#463, #199) - Add new
viewCount
property inXCDYouTubeVideo
(#460) - Silence warning about deprecated implementation (#450)
- Adaptation to YouTube API change. (#458)
- Add new
streamURL
property onXCDYouTubeVideo
- Fixed Swift Package Manager (#441)
- Support iOS 13 in Demo Projects
- Support background playback (#427, #442)
- Adaptation to YouTube API change. (#447, #448, #449)
- Adaptation to YouTube API change.
- Deprecated
XCDYouTubeErrorRestrictedPlayback
&XCDYouTubeErrorInvalidVideoIdentifier
useXCDYouTubeErrorNoStreamAvailable
instead.
- Deprecated
- Adaptation to YouTube API change. (#443)
- Add another player script regular expression (#438)
- Adaptation to YouTube API change. (#437)
- Adaptation to YouTube API change. (#433)
- Add the ability to fetch certain age-gate videos. (#431)
- Adaptation to YouTube API change. (#419, #422. #421)
- Fix JavaScript exception: ReferenceError (#418, #420)
- Adaptation to YouTube API change. (#417)
- Fixed Xcode project parsing error (#409, #411)
- Add the ability assign cookies via
-[XCDYouTubeClient getVideoWithIdentifier:cookies:completionHandler:]
&initWithVideoIdentifier:cookies:languageIdentifier:
- Add the ability to fetch videos allowed to be watched on youtube only (#315, #309)
- Deprecated
XCDYouTubeVideoPlayerViewController
(#157) - Fixed internal JavaScript exception (#375, #397)
- Adaptation to YouTube API change. (#406)
- Adaptation to YouTube API change. (#383, #388, #385, #382)
- Include DASH formats URLs in
streamURLs
. (#354) - Add new
autoGeneratedCaptionURLs
andcaptionURLs
properties toXCDYouTubeVideo
. (#281) - Fix
Messaging unqualified id
warnings. (#393) - Deprecated
smallThumbnailURL
,mediumThumbnailURL
,largeThumbnailURL
. UsethumbnailURL
instead.
- Xcode 9 compatibility (#345, #347, #349)
- Adaptation to YouTube API change. (#314)
- Adaptation to YouTube API change. (#295, #296, #297)
- Upgrade deployment target to iOS 8.0 (macOS is still 10.9 and tvOS is still 9.0)
- Adaptation to YouTube API change. (#257)
- Ensure that all the streams are downloadable at full speed. (#177)
- Post the video notification after setting the movie player’s contentURL property. (#233)
- Fixed playback of some age restricted videos.
- Adaptation to YouTube API change. (#231)
- Fixed compilation issue with Xcode 7.3 beta. (#228)
- Properly annotated the
preferredVideoQualities
property asnull_resettable
.
- Logging is fully configurable with the new
XCDYouTubeLogger
class. - Added
XCDYouTubeAllowedCountriesUserInfoKey
for better diagnosis of some unplayable (geoblocked) videos. (#216)
- Fixed XCDYouTubeKit iOS Framework deployment target. (#223)
- Restored iOS deployment target to 7.0. (#220)
- Improved
-[XCDYouTubeVideo debugDescription]
by sorting streams by itag. - Improved logging performance.
- Added the CFBundleVersion key in the Info.plist file for iTunes Connect validation. (#214)
- Support for tvOS. (#182)
- Replaced deprecated methods and classes: now using
NSURLSession
instead ofNSURLConnection
internally. (#190, #210) - Support for Objective-C generics where applicable.
- The
XCDYouTubeVideoOperation
class has changed back from a synchronous to an asynchronous operation and can be started on the main thread.
- Adaptation to YouTube API change. (#193, #194, #196, #197, #198, #202)
- Adaptation to YouTube API change. (#186)
- Improved Swift 2.0 interoperability. (#178)
- Raised deployment target to iOS 7.0 and OS X 10.9.
- Xcode 7 support.
- Nullability annotations.
- Fixed bitcode issue with CocoaPods integration. (#165, #173)
- Networking and parsing code is executed on a background thread for better performance. The
XCDYouTubeVideoOperation
class has changed from an asynchronous to a synchronous operation and must not be started on the main thread. (#147) - Logging support, see the README for documentation.
- Improved documentation.
- Adaptation to YouTube API change. (#144)
- Fixed playback of some protected videos. (#122)
- Fixed playback of some age restricted videos. (#137)
- Adaptation to YouTube API change. (#116)
- New
expirationDate
property on theXCDYouTubeVideo
class. (#96) - Create proper (non generic) Xcode archives when integrated manually. (#102)
- Adaptation to YouTube API change. (#105)
- Fixed protected age restricted videos.
- Adaptation to YouTube API change. (#94)
- Support for age restricted videos.
- Project upgraded to Xcode 6.
- Fixed errors on protected videos. (#52)
- Better error reporting if a protected video is not available.
- Updated README about YouTube Terms of Service.
- Fixed crash on protected videos. (#46)
- Ensure that the video doesn’t disappear after locking the device. (#36)
- Demo app: do not crash when going to background very quickly after presenting a video. (#44)
- Project renamed to
XCDYouTubeKit
. - Support for protected videos. (#6, #11, #12, #21, #27, #31, #33)
- OS X compatibility thanks to the new
XCDYouTubeClient
class. (#14, #18) - OS X dynamic framework target
- Support for live videos. (#34)
- Unit tested.
- Fully documented.
- Support for iOS 8 beta.
- Improved demo projects.
- New OS X demo project.
- New settings screen on iOS for background playback and audio session category.
- Demonstrates how to use the notifications to fill the Now Playing Info Center.
- Adaptation to YouTube API change. (#19)
- For errors of the
XCDYouTubeVideoErrorDomain
domain,-[NSError localizedDescription]
is actually localized and doesn’t contain HTML tags, making it suitable for displaying to the user. - Setting the
preferredVideoQualities
property to nil restores its default values. - Added some documentation in the XCDYouTubeVideoPlayerViewController header file.
- XCDYouTubeVideoPlayerViewController is built as a static library.
- Better demo project with one feature illustrated per view controller.
- iOS 7 compatible demo project.
- Video metadata information (thumbnails and title) is provided through
XCDYouTubeVideoPlayerViewControllerDidReceiveMetadataNotification
. (#1) - Workaround a case where the status bar could disappear after the video ends playback. (#3)
- Error reporting is more accurate, especially for VEVO videos. (#6)
prepareToPlay
is not automatically called, it’s the programmer responsibility to call it if appropriate.
- Initial version