AVPlayer not playing video that needs cookie authorization.

During implementation of an iOS media player, i have encountered an issue that on most of the iOS systems, AVPlayer won't play the video/audio which needs cookie authorization. After researching into this issue, finally i found that it is caused by an known iOS bug: 

One of the errors that we have found in iOS 7 are that cookie authorization does not work for many users when playing a video clip in the embedded media player in Safari.

So how many users are affected by this bug?
According to W3Counter the web browser market share for iOS 7 is about 5.4 % for October 2013. Probably about one-fifth of those users are affected by this bug, a total of about 1.08 %.

After checking on iOS from 5.0 to 7.1 on emulator, here we found the result:

Test result for whether embedded media player in Safari support cookie authorization:
iOS 5.0: No
iOS 5.1: No
iOS 6.0: YES
iOS 6.1 -- (Emulator not work)
iOS 7.0.3: NO
iOS 7.1: NO

Suggestion for this issue: Split the request into 2 parts: First for cookie authorization and second  for real media url.
As currently we actually have 2 URLs in a playing video/audio action: URL A as the original URL, and URL B as the redirected URL. We could fix this issue in the following step:
1, Request URL A in AJAX instead of assigning it directly to HTML5 player.
2, After getting the redirected URL B, assign B to HTML5 player.
3, Play URL B.


Refer: https://www.bizify.me/test-if-your-ios-device-is-broken/


你可能感兴趣的:(AVPlayer not playing video that needs cookie authorization.)