And*_*izh 5 macos webkit objective-c webgl
我正在为Mac OS编写一个应用程序 - WebKit上的浏览器用于WebGL上的某个站点.一切准备就绪,应用程序正确显示正常的HTML网站,但WebGL不起作用.如何在我的应用程序中启用WebGL?
一旦有了WebView,就会有一个未记录的方法可以启用WebGL:
WebPreferences *p = [webView preferences];
if ([p respondsToSelector:@selector(setWebGLEnabled:)]) {
[p setWebGLEnabled:YES];
}
Run Code Online (Sandbox Code Playgroud)
在此示例中,我已对其进行respondsToSelector:了保护,以确保在以后的版本删除此特定选项时代码不会中止.
请注意,我了解如果提交到Apple的Mac App Store,包含使用未记录的接口的代码的应用程序可能会被拒绝.
另一个选择是使用一个正式支持WebGL的不同嵌入式渲染器(在Safari中演示的Apple的WebKit仅将其作为开发人员选项,可能是为了试验).由于Firefox和Chrome都支持WebGL,请查看Gecko和Chromium Embedded Framework.(注意:我无法确认嵌入式Gecko是否支持WebGL.)