I'm making a VR application which uses 360degee images. This application show images with HTML. WKWebView is enable to get device's orientation.
webView.uiDelegate = self
It is possible to show omni direction images.
Though, it shows white square box befor to show contents. And tap this square, movie controller will be appeared. Then click "X"close button, this square wipe disappear and contents will be start.
Below is error message when I started this application on simulator.
2020-10-05 14:03:00.220288+0900 WebViewButton[70653:4552750] [assertion] Error acquiring assertion: <Error Domain=RBSAssertionErrorDomain Code=3 "Required client entitlement is missing" UserInfo={RBSAssertionAttribute=<RBSDomainAttribute| domain:"com.apple.webkit" name:"MediaPlayback" sourceEnvironment:"(null)">, NSLocalizedFailureReason=Required client entitlement is missing}>
2020-10-05 14:03:00.220599+0900 WebViewButton[70653:4552750] [ProcessSuspension] 0x106df57e0 - ProcessAssertion: Failed to acquire RBS MediaPlayback assertion 'WebKit Media Playback' for process with PID 70655, error: Error Domain=RBSAssertionErrorDomain Code=3 "Required client entitlement is missing" UserInfo={RBSAssertionAttribute=<RBSDomainAttribute| domain:"com.apple.webkit" name:"MediaPlayback" sourceEnvironment:"(null)">, NSLocalizedFailureReason=Required client entitlement is missing}
2020-10-05 14:03:00.222371+0900 WebViewButton[70653:4552750] [assertion] Error acquiring assertion: <Error Domain=RBSAssertionErrorDomain Code=3 "Required client entitlement is missing" UserInfo={RBSAssertionAttribute=<RBSDomainAttribute| domain:"com.apple.webkit" name:"MediaPlayback" sourceEnvironment:"(null)">, NSLocalizedFailureReason=Required client entitlement is missing}>
2020-10-05 14:03:00.225196+0900 WebViewButton[70653:4552750] [ProcessSuspension] 0x106df5810 - ProcessAssertion: Failed to acquire RBS MediaPlayback assertion 'WebKit Media Playback' for process with PID 70653, error: Error Domain=RBSAssertionErrorDomain Code=3 "Required client entitlement is missing" UserInfo={RBSAssertionAttribute=<RBSDomainAttribute| domain:"com.apple.webkit" name:"MediaPlayback" sourceEnvironment:"(null)">, NSLocalizedFailureReason=Required client entitlement is missing}
2020-10-05 14:03:03.652871+0900 WebViewButton[70653:4552750] <CATransformLayer: 0x600003b09fe0> - changing property masksToBounds in transform-only layer, will have no effect
2020-10-05 14:03:03.653989+0900 WebViewButton[70653:4552750] <CATransformLayer: 0x600003b17200> - changing property masksToBounds in transform-only layer, will have no effect
2020-10-05 14:03:03.658501+0900 WebViewButton[70653:4552750] <CATransformLayer: 0x600003b0a520> - changing property masksToBounds in transform-only layer, will have no effect
2020-10-05 14:03:03.663858+0900 WebViewButton[70653:4552750] [plugin] AddInstanceForFactory: No factory registered for id <CFUUID 0x600003b0a7e0> F8BB1C28-BAE8-11D6-9C31-00039315CD46
2020-10-05 14:03:03.704443+0900 WebViewButton[70653:4552750] <CATransformLayer: 0x600003b07a40> - changing property masksToBounds in transform-only layer, will have no effect
2020-10-05 14:03:03.706753+0900 WebViewButton[70653:4552750] <CATransformLayer: 0x600003b0b340> - changing property masksToBounds in transform-only layer, will have no effect
2020-10-05 14:03:03.727357+0900 WebViewButton[70653:4552750] <CATransformLayer: 0x600003b0a520> - changing property allowsGroupBlending in transform-only layer, will have no effect
2020-10-05 14:03:03.727779+0900 WebViewButton[70653:4552750] <CATransformLayer: 0x600003b07a40> - changing property allowsGroupBlending in transform-only layer, will have no effect
It's said that there is not MediaPlayback resources.
What? It not to need Madiaplayer.
How to delete this white square? How to disable MediaPlayback?
Below is source code
import UIKit
import WebKit
class WebViewController: UIViewController, WKNavigationDelegate, WKUIDelegate {
@IBOutlet weak var webView: WKWebView!
@IBOutlet weak var backBtn: UIButton!
var rcvURL="" //Contents URL
override func viewDidLoad() {
super.viewDidLoad()
webView.uiDelegate = self // enable to get omni direction sensor
webView.navigationDelegate = self
openUrl(urlString: rcvURL)
}
/** BackButton **/
@IBAction func back(_ sender: Any) {
self.dismiss(animated: true, completion: nil)
}
/** Open Contents URL **/
func openUrl(urlString: String) {
let url = URL(string: urlString)
let request = NSURLRequest(url: url!)
webView.load(request as URLRequest)
}
}
- this environment is: Xcode12.0.1 iOS 14.0.1 (iPhoneXR) Swift 5.3
Inspector of WebView, Check true at Inline Playback.