#cordova #ionic-framework #ionic3 #cordova-plugins
Вопрос:
Я хочу реализовать закрепление ssl в своем приложении ionic 3. Я установил плагин @ionic/native http, используя следующую ссылку — https://ionicframework.com/docs/v3/native/http/
После того, как все было настроено, когда я пытаюсь запустить приложение, оно показывает следующую ошибку —
Родной: попытался вызвать HTTP.setSSLCertMode, но плагин HTTP не установлен. Установите плагин HTTP: «плагин ionic cordova добавить плагин cordova-расширенный-http»
Я перепробовал все возможные решения, доступные в Интернете, но до сих пор не могу заставить это работать.
Я попытался переместить код внутри функции готовности платформы, ссылки на плагины выглядят нормально, я попытался очистить, а затем установить npm, но все равно не повезло.
Что здесь происходит не так? Помощь действительно ценится, так как сейчас я чешу в затылке!!
Заранее спасибо!
Обновить
this.http.setSSLCertMode("pinned")
.then((res) => {console.log(res)})
.catch((err) => {console.log(err)});
this.http.get("url", {},{})
.then((data) => {console.log(data)})
.catch((err) => {console.log(err)});
Это мой код. Если я удалю часть setSSLCetMode в коде, ошибка исчезнет, и будет выполнен запрос GET.
Почему происходит такое поведение?
Комментарии:
1. Значит, вы также выполняете эту команду?
ionic cordova plugin add cordova-plugin-advanced-http
2. Да, я добавил эту команду перед @ionic/native http
3. пожалуйста, проверьте мой обновленный вопрос
Ответ №1:
Возможно, вам захочется попробовать удалить любую платформу, для которой вы создаете сборку, и добавить ее обратно. Плагин может быть установлен из вашего пакета.json для вашего проекта, но не для конкретной платформы, которую вы используете:
ionic cordova platform rm <insert platform here>
затем
ionic cordova platform add <insert platform here>
после этого перестройте свой проект. Кажется довольно очевидным, что он не думает, что у вас установлен этот конкретный плагин, поэтому он должен быть каким-то образом связан с этим, даже косвенно. Возможно также, что вам также потребуется обновить плагин.
Комментарии:
1. Я попытался удалить и добавить обратно платформу, но это не помогло, я обновил свой вопрос, если я удалю строку this.http.setSSLCertMode, плагин будет обнаружен и запрос будет выполнен.