Плагин Mac OS X NPAPI не отображается в списке плагинов Chrome about:

Я разрабатываю плагин NPAPI для Mac, и он работает и правильно регистрируется как в Firefox, так и в Safari, но не в Chrome.

Info.plist для плагина достаточно, чтобы Firefox и Safari подтвердили, что он существует в их собственных списках плагинов. Chrome его не находит. Любые идеи?

Info.plist из Xcode:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleIconFile</key>
<string></string>
<key>CFBundleGetInfoString</key>
<string>XXXXXX</string>
<key>CFBundleIdentifier</key>
<string>com.yourcompany.${PRODUCT_NAME:XXXXXX}</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundlePackageType</key>
<string>BRPL</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1</string>
<key>WebPluginDescription</key>
<string>XXXXXXX</string>
<key>WebPluginMIMETypes</key>
<dict>
    <key>application/x-XXXXXX-plugin</key>
    <dict>
        <key>WebPluginExtensions</key>
            <array>
                <string></string>
            </array>
        <key>WebPluginTypeDescription</key>
        <string>XXXXXX</string>
    </dict>
</dict>
<key>WebPluginName</key>
<string>XXXXXXXXXX</string>
</dict>
</plist>

person Jon    schedule 28.06.2011    source источник
comment
это весь файл plist? Поскольку вы вставили его, это недействительный XML, что может вызвать проблему. вам не хватает закрывающих тегов   -  person taxilian    schedule 29.06.2011
comment
@Taxilian, часть текста не попала в блок кода. Фиксированный. Спасибо за комментарий.   -  person Jon    schedule 29.06.2011


Ответы (1)


В дополнение к проверке списка, Mac Chrome запускает CFBundlePreflightExecutable, чтобы убедиться, что плагин загружается, так что, возможно, это шаг, который не выполняется. Как вы создали свой плагин? Если это 64-битный двоичный файл, Mac Chrome в настоящее время не может его загрузить, тогда как в Safari и Firefox 10.6 это возможно.

person smorgan    schedule 29.06.2011
comment
Две проблемы: 1) проект был построен с x86_64 в качестве активной архитектуры, изменил это на i386. 2) Chrome не смотрит в ~ / Library / Internet Plug-ins пользователя / - мне пришлось скопировать его в / Library / Internet Plug-ins / системы. Делаю обе работы! Спасибо! - person Jon; 29.06.2011
comment
Второе неверно; Chrome абсолютно точно смотрит в ~ / Library / Internet Plug-ins /; Я постоянно использую эту функцию с плагинами FireBreath. - person taxilian; 29.06.2011
comment
Этот ответ меня вчера спас, я не знал о 32-битном ограничении в Chrome. Спасибо! - person Stelian Iancu; 21.03.2012