Cordova notification plugin не удалось установить (Cordova 3.6)


Я обновил проект с Cordova 3.4 до 3.6.3, и все развалилось (как обычно).

Но конкретно, здесь, плагин org.apache.cordova.dialogs не работает во время выполнения на ios.

Cordova говорит, что плагин установлен:

$ cordova plugins ls
org.apache.cordova.dialogs 0.2.9 "Notification"
org.apache.cordova.vibration 0.3.10 "Vibration"

В конфигурации.xml (тот, что находится вне каталога платформ) я добавил:

<feature name="Notification">
  <param name="ios-package" value="CDVNotification" />
</feature>

Когда в JavaScript я пытаюсь создать оповещение, подобное этому (и да, устройство готово):

navigator.notification.alert("Test alert", null);

Я получаю эту ошибку в отладчике XCode (I добавлены разрывы строк для разборчивости)

2014-09-18 15:03:26.327 Milk[3045:60b] 
CDVPlugin class CDVNotification (pluginName: Notification) does not exist.
2014-09-18 15:03:26.328 Milk[3045:60b] 
ERROR: Plugin 'Notification' not found, or is not a CDVPlugin. Check your plugin mapping in config.xml.
2014-09-18 15:03:26.329 Milk[3045:60b] 
-[CDVCommandQueue executePending] [Line 158] FAILED pluginJSON = [
  "INVALID",
  "Notification",
  "alert",
  [
    "Test alert",
    "Alert",
    "OK"
  ]
]

Я пытался cordova plugin rm / cordova plugin add а также запуск cordova platform rm для добавления и удаления ios.

Итак: "класс CDVPlugin CDVNotification (pluginName: Notification) не существует.- что?

Кордова говорит, что он установлен, как я могу это решить?

4 2

4 ответа:

@icl1c ваш ответ не совсем сработал для меня, получил еще одну ошибку после добавления CDVNotification.м на этапе сборки.

Что мне нужно было сделать, так это добавить зависимую структуру: AudioToolbox.рамки также, чтобы заставить его работать.

Введите описание изображения здесь

Вот что я сделал, чтобы исправить эту проблему.

В Xcode необходимо добавить источники плагинов на этапах сборки.

  1. выберите свой проект
  2. выберите цель вашего проекта
  3. перейдите на вкладку этапы сборки
  4. добавьте недостающее *.m файлов
  5. компиляция

Вы можете легко попробовать его, обновив через sudo npm update -g cordova и вернувшись с вашими командами, если он не работает. Дайте мне знать.

Также, если у вас есть еще некоторые ошибки после этого убедитесь, что вы включили все необходимые фреймворки:

В той же вкладке (этапы сборки), у вас есть связать двоичный файл с библиотеками (xx элементов)

Для плагина contact вам нужно:

  • AddressBook.framework
  • AddressBookUI.framework

Для плагина камеры вам нужно:

  • OpenAL.framewrok
  • ImageIO.framework

Для плагина уведомлений вам нужно:

  • AudioToolBox.framewrok

Для плагина устройства вы нужно:

  • AssetsLibrary.framework

Ура

конфигурация xcode

Я глобально понизил рейтинг до Cordova 3.5, и теперь, кажется, все в порядке.

sudo npm uninstall cordova -g
sudo npm install -g cordova@3.5.0-0.2.7

@jBoive ответ плюс добавление ниже кода в config.xml, исправлена моя проблема:

<feature name="Notification">
    <param name="ios-package" value="CDVNotification" />
</feature>