Подтвердить что ты не робот

Кордовы iOS плагины не найдены

Недавно я обновился до Кордовы 2.9.0 с 2.3.0. После выполнения всех инструкций по обновлению я смог запустить приложение в симуляторе. Однако в Xcode я вижу следующие ошибки:

ERROR: Plugin 'Device' not found, or is not a CDVPlugin. Check your plugin mapping in config.xml.
-[CDVCommandQueue executePending] [Line 103] FAILED pluginJSON = ["Device1776032119","Device","getDeviceInfo",[]]
ERROR: Plugin 'NetworkStatus' not found, or is not a CDVPlugin. Check your plugin mapping in config.xml.
-[CDVCommandQueue executePending] [Line 103] FAILED pluginJSON = ["NetworkStatus1776032120","NetworkStatus","getConnectionInfo",[]]
-[CDVCommandQueue executePending] [Line 103] FAILED pluginJSON = ["INVALID","Logger","logLevel",["LOG","deviceready has not fired after 5 seconds."]]
ERROR: Plugin 'Logger' not found, or is not a CDVPlugin. Check your plugin mapping in config.xml.
-[CDVCommandQueue executePending] [Line 103] FAILED pluginJSON = ["INVALID","Logger","logLevel",["LOG","Channel not fired: onCordovaConnectionReady"]]
ERROR: Plugin 'Logger' not found, or is not a CDVPlugin. Check your plugin mapping in config.xml.
-[CDVCommandQueue executePending] [Line 103] FAILED pluginJSON = ["INVALID","Logger","logLevel",["LOG","Channel not fired: onCordovaInfoReady"]]

Это мой файл config.xml:

<?xml version="1.0" encoding="UTF-8"?>
<widget>
    <feature name="Geolocation">
        <param name="ios-package" value="CDVLocation" />
    </feature>
    <feature name="Device">
        <param name="ios-package" value="CDVDevice" />
    </feature>
    <feature name="Accelerometer">
        <param name="ios-package" value="CDVAccelerometer" />
    </feature>
    <feature name="Compass">
        <param name="ios-package" value="CDVLocation" />
    </feature>
    <feature name="Media">
        <param name="ios-package" value="CDVSound" />
    </feature>
    <feature name="Camera">
        <param name="ios-package" value="CDVCamera" />
    </feature>
    <feature name="Contacts">
        <param name="ios-package" value="CDVContacts" />
    </feature>
    <feature name="File">
        <param name="ios-package" value="CDVFile" />
    </feature>
    <feature name="NetworkStatus">
        <param name="ios-package" value="CDVConnection" />
    </feature>
    <feature name="Notification">
        <param name="ios-package" value="CDVNotification" />
    </feature>
    <feature name="FileTransfer">
        <param name="ios-package" value="CDVFileTransfer" />
    </feature>
    <feature name="Capture">
        <param name="ios-package" value="CDVCapture" />
    </feature>
    <feature name="Battery">
        <param name="ios-package" value="CDVBattery" />
    </feature>
    <feature name="SplashScreen">
        <param name="ios-package" value="CDVSplashScreen" />
    </feature>
    <feature name="Echo">
        <param name="ios-package" value="CDVEcho" />
    </feature>
    <feature name="Globalization">
        <param name="ios-package" value="CDVGlobalization" />
    </feature>
    <feature name="InAppBrowser">
        <param name="ios-package" value="CDVInAppBrowser" />
    </feature>
    <feature name="Logger">
        <param name="ios-package" value="CDVLogger" />
    </feature>
    <feature name="LocalStorage">
        <param name="ios-package" value="CDVLocalStorage" />
    </feature>
    <plugins>
    </plugins>
    <preference name="KeyboardDisplayRequiresUserAction" value="true" />
    <preference name="SuppressesIncrementalRendering" value="false" />
    <preference name="UIWebViewBounce" value="true" />
    <preference name="TopActivityIndicator" value="gray" />
    <preference name="EnableLocation" value="false" />
    <preference name="EnableViewportScale" value="false" />
    <preference name="AutoHideSplashScreen" value="true" />
    <preference name="ShowSplashScreenSpinner" value="true" />
    <preference name="MediaPlaybackRequiresUserAction" value="false" />
    <preference name="AllowInlineMediaPlayback" value="false" />
    <preference name="OpenAllWhitelistURLsInWebView" value="false" />
    <preference name="BackupWebStorage" value="cloud" />
    <preference name="fullscreen" value="true" />
    <preference name="webviewbounce" value="true" />
    <access origin="*.googleapis.com"/>
    <access origin="*.gstatic.com"/>
    <access origin="*.s3.amazonaws.com"/>
</widget>
4b9b3361

Ответ 1

Для будущих поисковиков (например, я!) у меня была аналогичная проблема с попыткой добавить консольный плагин в мой проект. Отсутствующий шаг для меня после установки плагина состоял в том, чтобы убедиться, что исходные файлы параметров целевого членства плагина (CDVlogger.m) включали мои имена приложений.

Ответ 2

Подобный вопрос с ответом, который работал у меня:

удалите./plugins/ios.json, чтобы убедиться, что плагины перестроены.

Phonegap 3.0 Плагины IOS не найдены

Ответ 3

У меня была такая же проблема. Я просто загрузил инструмент командной строки cordova 3.0 с помощью диспетчера пакетов node. Затем я использовал инструмент из терминала, чтобы создать свой проект, добавить к нему платформы и создать его таким образом.

cordova create myApp com.project.RobertW myApp
cd myApp
cordova platform add ios
cordova platform add android
cordova build

После этого я увидел те же ошибки в Xcode, когда я попытался запустить его в симуляторе. Кажется, по умолчанию теперь PhoneGap не включает в себя никаких плагинов в проекте, поэтому даже если в вашем файле конфигурации они, вероятно, не будут находиться в папке плагинов. Вы должны добавить их вручную или с помощью инструмента командной строки. Я использовал инструмент командной строки, потому что я думал, что это проще.

cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-device.git
cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-network-information.git
cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-console.git
cordova build

После этого я снова запустил myApp в симуляторе, и все сработало нормально. В командной строке есть несколько полезных инструкций:

http://docs.phonegap.com/en/3.0.0/guide_cli_index.md.html#The%20Command-line%20Interface

Мне хотелось бы думать, что если PhoneGap 3.0 требует Logger, Device и Network Status, он будет включать эти плагины автоматически, но в моем случае это не так. Надеюсь, это поможет.

Изменить: в версии config.xml для iOS в Xcode вам также потребуется внести это изменение, чтобы плагин Logger работал правильно. По умолчанию используется следующее.

<feature name="Console">
    <param name="ios-package" value="CDVLogger" />
</feature>

Перейдите к этому

<feature name="Logger">
    <param name="ios-package" value="CDVLogger" />
</feature>

Теперь все ваши функции консоли должны работать без ошибок.

Ответ 4

У меня была такая же проблема с плагином информации об устройстве, используя Phonegap 3.0.0. Чтобы решить эту проблему, мне просто пришлось удалить и переустановить плагин, а затем перестроить проект.

phonegap local plugin remove org.apache.cordova.device
phonegap local plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-device.git
phonegap local build ios

Ответ 5

Я вернулся к использованию старого формата <plugin>. Хотя это устарело, это единственный способ, который работает для меня.

<plugins>
    <plugin name="Device" value="CDVDevice" />
    <plugin name="Logger" value="CDVLogger" />
    ...
</plugins>

Ответ 6

Произошел этот вопрос сам. Найденное единственное решение выполняло cordova prepare после добавления плагинов через CLI. prepare копирует необходимые файлы в проект XCode в папке platforms.

Я думаю, что это должно быть сделано как часть команды build или команды plugin add, если проект присутствует. Может быть, это ошибка, может быть, она преднамеренная, но я не мог найти там много документации.

Подобный вопрос с ответами.

Ответ 7

случилось со мной по телефонной трубке 3.5 с Xcode 6

:

phonegap plugin remove org.apache.cordova.camera 
phongap plugin add org.apache.cordova.camera 
phongap platform remove ios
phongap build ios

Вероятно, это не лучшее решение - потому что вы потеряли настройки xcode. Но проблема была устранена.

Ответ 8

В моем случае... решение добавило эту строку кода для всех плагинов, которые я использую.. в моем config.xml

    <feature name="Device">
    <param name="ios-package" value="CDVDevice" />
    <param name="onload" value="true" />
</feature>

<feature name="FCMPlugin">
    <param name="ios-package" value="FCMPlugin" />
    <param name="onload" value="true" />
</feature>

<feature name="StatusBar">
    <param name="ios-package" value="CDVStatusBar" />
    <param name="onload" value="true" />
</feature>

<feature name="CDVLocation">
    <param name="ios-package" value="CDVLocation" />
    <param name="onload" value="true" />
</feature>

<feature name="cordova.logger">
    <param name="ios-package" value="CDVLogger" />
    <param name="onload" value="true" />
</feature>

<feature name="Logger">
    <param name="ios-package" value="CDVLogger" />
    <param name="onload" value="true" />
</feature>

<feature name="Console">
    <param name="ios-package" value="CDVLogger" />
    <param name="onload" value="true" />
</feature>


<feature name="SQLitePlugin">
    <param name="ios-package" value="SQLitePlugin" />
    <param name="onload" value="true" />
</feature>

  <feature name="Keyboard">
    <param name="ios-package" value="IonicKeyboard" />
    <param name="onload" value="true" />
</feature>

Ответ 9

У меня также была эта проблема. Я просто создал каталог самостоятельно (platform/ios/appname/Plugins/org.apache.cordova.console) и скопировал недостающие файлы (CDVLLogger.h и CDVLLogger.m) в этот каталог. Затем компиляция прошла успешно.

Я использую кордову версии 3.5

Ответ 10

Если вы получите эту ошибку с помощью Ionic, попробуйте запустить cordova run ios --device вместо ionic run ios --device. Это исправило проблему для меня. Я думаю, что Ionic cli v2 был бесполезным, поскольку проект был проектом Ionic 1. У меня не было проблем до обновления Ionic cli.

Ответ 11

У меня была такая же проблема с SQLitePlugin. Я пробовал некоторые из предлагаемых решений в этом посте, но ни один из них не работал у меня. Затем я попытался удалить платформу /ios dir (я разрабатываю для iPhone), снова добавил платформу ios (ionic add platform ios) и перестроил проект. Внезапно все работало как шарм. Мне не нужно было создавать новый проект и не нужно было удалять плагины.

Ответ 12

Мы открыли проект в Xcode и заглянули в боковую панель навигатора проекта.

Под виртуальной папкой "Плагины" мы заметили, что в этой папке отсутствовали файлы для некоторых плагинов.

the Plugins folder in the sidebar containing a few plugin files

Решением было щелкнуть правой кнопкой мыши на плагинах и выбрать " Добавить файлы в" ProjectName "...

Затем мы перешли в папку плагина и добавили .swift все .swift .m и .h.

В результате были созданы новые ссылки в файле platforms/ios/[ProjectName].xcodeproj/project.pbxproj поэтому мы сохранили эти изменения.

Ответ 13

Для новых версий Cordova

Массовое сохранение плагинов в существующем проекте

Если у вас уже есть существующий проект и вы хотите сохранить все добавленные в данный момент плагины в проекте, вы можете использовать:

cordova plugin save