I made an iOS app with UIWebView which loads YouTube iFrame player. Everything went well and it can even keep playing video on background with only one problem.
This pro
OK, I still don't have a working solution for this problem but I just figured out a work around.
It seems like YouTube iFrame player does not create WebGL rendering context as long as you don't call YTPlayer.loadVideoById (or cueVideoById, loadVideoByUrl, cueVideoByUrl, loadPlaylist, cuePlaylist.) So I just load all the video on my playlist with loadPlaylist whenever the playlist is changed.
With this work around, my app doesn't crash anymore. It's good but I still wonder if anyone has a real solution for this, please let me know and it's very much appreciated!!!