Я работаю над разработкой плагина Cordova, который инкапсулирует каркас мессенджера для платформы iOS и Android.При добавлении этого плагина в проект приложения, ionic Cordova прекрасно собрал и выполнил запуск приложения iOS без проблем.Моя проблема в том, что событие deveiceready
не запущено, и ни один плагин не загружен, как если бы система загрузки только что завершила работу без вывода сообщений, никаких журналов вообще ... Если я удаляю этот плагин, devireceready
сработал, а другие плагины загружаются нормально
Я пытался:
- переписать нативную реализацию iOS из Swift 3 в ObjC
- , не добавляя этот плагин,
- добавляя только этот плагин и удаляя другие
- пейте меньше кофе
- пейте больше кофе
plugin.xml
<?xml version="1.0" encoding="UTF-8"?>
<plugin xmlns="http://apache.org/cordova/ns/plugins/1.0"
xmlns:android="http://schemas.android.com/apk/res/android"
id="cordova-plugin-lithium"
version="0.1">
<name>Lithium SMM Response messenger</name>
<description>Cordova Lithium SMM Response messenger Plugin</description>
<keywords>cordova,smm,lithium,response,messenger</keywords>
<js-module src="www/LithiumMessenger.js" name="LithiumMessenger">
<clobbers target="cordova.plugins.LithiumMessenger" />
</js-module>
<platform name="ios">
<config-file target="config.xml" parent="/widget">
<feature name="LithiumMessenger">
<param name="ios-package" value="LithiumMessenger"/>
<param name="onload" value="true" />
</feature>
</config-file>
<header-file src="src/ios/LithiumMessenger.h" />
<source-file src="src/ios/LithiumMessenger.m" />
<framework src="src/ios/Lithium.framework" custom="true" embed="true" />
</platform>
</plugin>
LithiumMessenger.m
#import "LithiumMessenger.h"
@implementation LithiumMessenger
- (void)messengerInit:(CDVInvokedUrlCommand *)command {
NSLog(@"ok");
CDVPluginResult *pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK];
[self.commandDelegate sendPluginResult: pluginResult callbackId: command.callbackId];
}
@end
LithumMessenger.js
const exec = require('cordova/exec'),
const nativePluginName = 'LithiumMessenger';
exports.init = function(arg0, success, error) {
exec(success, error, nativePluginName, "messengerInit", [arg0]);
}
Было бы желательно получить некоторое представление о возможном способе решения этой проблемы, а также окак отладить процесс загрузки плагина Cordova