2017-05-28 61 views
1

添加我的自定義插件在我的項目離子3在這種模式下:如何在離子項目中導入cordova自定義插件?

離子科爾多瓦插件添加/路徑/到/自定義/插件

home.ts

import { Component } from '@angular/core'; 
import { NavController } from 'ionic-angular'; 

declare var className: any; 

@Component({ 
    selector: 'page-home', 
    templateUrl: 'home.html' 
}) 
export class HomePage { 

    constructor(public navCtrl: NavController) { 
    className.plugins.ClassName.methodName("======> WORK"); 
    } 
} 

插件.XML

<js-module src="www/ClassName.js" name="ClassName"> 
<clobbers target="className" /> 
</js-module> 
<platform name="ios"> 
<config-file target="config.xml" parent="/*"> 
<feature name="ClassName"> 
<param name="ios-package" value="ClassName"/> 
</feature> 
</config-file> 
<header-file src="src/ios/ClassName.h" /> 
<source-file src="src/ios/ClassName.m" /> 
</platform> 

個ClassName.js

function ClassName() { 
} 
ClassName.prototype.methodName = function(echo, successCallback, errorCallback) { 
cordova.exec(successCallback, errorCallback, "ClassName", "methodName", [echo]); 
}; 
module.exports = new ClassName(); 

ClassName.m

#import "ClassName.h" 

@implementation ClassName 

-(void)methodName:(CDVInvokedUrlCommand *)command { 
NSString* echo = [command.arguments objectAtIndex:0]; 
NSLog(@"%@", echo); 
} 
@end 

ClassName.h

#import <Cordova/CDVPlugin.h> 

@interface ClassName : CDVPlugin 
-(void)methodName:(CDVInvokedUrlCommand *)command; 
@end 

我建項目和去xcode的嘗試,但只有模擬器展示黑色的屏幕和沒有看到由日誌記錄日誌... 我怎麼能解決?導入自定義插件的正確方法是什麼?謝謝

+0

還沒有建成一個插件..但你確實需要內'platform.ready(調用插件)。那麼()=> {})' –

+0

https://ionicframework.com/docs/api/platform/Platform /#ready –

+0

好!現在工作,謝謝。 – Riidio

回答

0

你需要確保平臺在調用你的插件之前被加載。

使用platform.ready()

constructor(public navCtrl: NavController,public platform:Platform) { 
    this.platform.ready().then(()=>{ 
     className.plugins.ClassName.methodName("======> WORK"); 
    }); 
    } 
相關問題