https://capacitorjs.com/docs/plugins/ios
I did not create the plugin as a separate package using npx @capacitor/plugin генерировать . Вместо этого я вручную создал файлы Swift и добавил их непосредственно в проект iOS в XCode, рядом с AppDelegate.swift .
мой класс плагина echoplugin реализует Capplugin и CapbridgedPlugin и определяет метод Echo . У меня также есть файл echo.swift с базовой реализацией, которая возвращает переданную строку.
Код: Выделить всё
bridge?.registerPluginInstance(EchoPlugin())В Frontend (Angular) я использую:
Код: Выделить всё
const Echo = registerPlugin('Echo');Код: Выделить всё
Echo.echo({ value: 'test' });Однако я продолжаю получать эту ошибку:
Код: Выделить всё
{"code":"UNIMPLEMENTED"}В журналах xcode
, что заставляет меня думать, что нативный метод даже никогда не называется.
Вещи, которые я уже проверял:
[*]
и определяет плагинметоды правильно.
[*] jsname - «echo» и соответствует тому, что я использую на фронте с Registerplugin ("echo") . /> I запустил NPX Cap Sync ios и открыл проект с помощью npx cap Open ios .
[*] Файлы Swift включены в цель приложения в xcode. Appdelegate.swift и letting -конденсатор обнаруживает его автоматически.
Я чистил папку сборки и несколько раз перестроил приложение.plugins: {
EchoPlugin: {}
}
< /code>
< /li>
< /ul>
Что я ожидал: < /h3>
Calling echo.echo ({value: 'test'}) < /code> из Angure произошло: < /h3>
Я получил {"code": "unimplemented"} < /code> и никаких журналов не появилось в xcode < /strong>, что предполагает, что метод нативного плагина вообще не запускается. /> Есть ли что -нибудь конкретное, что я должен сделать, если я добавить файлы плагинов Swift непосредственно в проект Xcode ios , вместо того, чтобы генерировать пакет плагина конденсатора?
Заранее спасибо за помощь или разъяснение!>
Подробнее здесь: https://stackoverflow.com/questions/796 ... ive-method
Мобильная версия