Плагины браузера не загружаются при реализации WebView - PullRequest
4 голосов
/ 15 сентября 2009

У меня есть приложение Какао, которое я пытаюсь написать, которое отображает веб-страницу. Эта веб-страница имеет встроенную кварцевую композицию в фоновом режиме, которая воспроизводится и работает в Safari, но она отображается в моем приложении Cocoa (вместо этого просто отображается значок отсутствующего плагина в фоновом режиме).

Странно то, что он работает на другом компьютере, на котором я его тестировал. Я где-то пропустил фреймворк или плагин, который может вызвать это?

Еще одно замечание: похоже, что плагины не работают. Например, когда WebView отображает youtube.com, он не может воспроизводить видео, поскольку говорит, что Flash Plugin не установлен. Опять же, тот же код работает на другом компьютере, но не на этом.

Спасибо! Любая помощь будет принята с благодарностью!

Ответы [ 2 ]

4 голосов
/ 15 сентября 2009

Вам необходимо явно включить поддержку плагинов в WebView. Это можно сделать в Интерфейсном Разработчике (установите флажок Enable: Plugins ) или в коде, вызвав -setPluginsEnabled: в объекте WebPreferences веб-представления:

WebPreferences *prefs = [webView preferences];
[prefs setPlugInsEnabled:YES];

Если у вас включены подключаемые модули, убедитесь, что подключаемые модули совместимы с создаваемой архитектурой / средой выполнения. Если вы создаете 64-битное приложение или сборщик мусора, все загружаемые плагины WebKit должны поддерживать архитектуру. Например, подключаемый модуль Flash не загружается в приложение с поддержкой GC, хотя он загружается в 64-разрядной версии, поскольку в качестве подключаемого модуля NPAPI он загружается в 32-разрядную изолированную программную среду.

0 голосов
/ 07 ноября 2009

Самое странное, единственное, что в итоге заработало, это собрать его на тестовой машине вместо машины, на которой я разрабатывал. Как странно!

...