我用Plugman命令创建一个离子插件。 我的插件是:SayHello
这是SayHello.js的内容:
var exec = require('cordova/exec');
exports.coolMethod = function (arg0, success, error) {
exec(success, error, 'SayHello', 'coolMethod', [arg0]);
};
这是SayHello.m的内容:
/********* SayHello.m Cordova Plugin Implementation *******/
#import <Cordova/CDV.h>
@interface SayHello : CDVPlugin {
// Member variables go here.
}
- (void)coolMethod:(CDVInvokedUrlCommand*)command;
@end
@implementation SayHello
- (void)coolMethod:(CDVInvokedUrlCommand*)command
{
NSLog(@"===============> Hello Seikida !");
CDVPluginResult* pluginResult = nil;
NSString* echo = [command.arguments objectAtIndex:0];
if (echo != nil && [echo length] > 0) {
pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsString:echo];
} else {
pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR];
}
[self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId];
}
@end
我在ionic项目(ionic 4)上安装了自定义插件:
一切都很好(=在我的设备上运行项目时我没有错误),但是我不知道如何调用coolMethod。
要创建我的插件,请遵循以下主题:Ionic Plugin Creation Using Plugman
但是他们使用了旧的离子版本(例如:离子4上没有Home.ts文件)。
您能帮助我了解如何在home.page.ts上使用我的插件吗? 如何导入我的插件? (你有例子吗?)
谢谢
答案 0 :(得分:0)
您需要做的是为插件创建一个Ionic包装器,将其复制到Ionic项目中,导入并注册提供程序。之后,您将能够注入您的插件并使用它。 总结起来,您必须这样做:
gulp
创建一个Ionic包装器并进行设置node_modules/@ionic-native
下的app.module.ts
中注册提供程序(安装其他现有插件之前,您可能已经完成了此操作)my-page.page.ts
中(也可能之前完成)插件的设置特别棘手,在src/@ionic-native/plugins/my-plugin/index.ts
中的命名要非常小心。如果操作不正确,则会在运行时收到“未安装插件”错误。在这种情况下,请纠正重复的步骤3。
您可能需要更多详细信息。遵循this tutorial 中的分步指南,我写道您不会迷路。考虑到卡住的地方,您可能可以跳到第5步,但是我建议从头开始阅读以使自己适应环境。
希望这会有所帮助!