我有一个我正在尝试编写的
Cocoa应用程序,它显示了一个网页.这个网页在后台有一个嵌入的石英组合,在Safari中播放和工作,但它确实在我的Cocoa应用程序中显示(它只是在后台显示缺少的插件图标).
奇怪的是它适用于我正在测试它的另一台计算机上.我错过了某个可能导致此问题的框架或插件吗?
另一个注意事项:没有插件似乎工作.例如,当WebView显示youtube.com时,它无法播放视频,因为它表示未安装Flash插件.同样,相同的代码适用于另一台计算机,但不适用于此计算机.
谢谢!任何帮助将不胜感激!
解决方法
您需要在WebView中显式启用插件支持.您可以在Interface Builder(检查Enable:Plugins复选框)或代码中通过在Web视图的WebPreferences对象上调用-setPluginsEnabled来执行此操作:
WebPreferences *prefs = [webView preferences]; [prefs setPlugInsEnabled:YES];
如果您确实启用了插件,请检查插件是否与您正在创建的体系结构/运行时兼容.如果您正在构建64位或Garbage-Collected应用程序,则加载的任何WebKit插件都必须支持该体系结构.例如,Flash插件不会加载到启用GC的应用程序中,尽管它以64位加载,因为作为NPAPI插件,它加载在32位沙箱中.