Phonegap Cordova从Objective-C调用javascript函数

arl*_*rlg 0 objective-c cordova

我在PhoneGap应用程序中面临一些Objective-C缺乏知识的问题.

我有一个我需要在Objective-C中实现的库.这个库有一些我在一个委托类(称为CCController)中收到的回调:

[MyLib sharedInstance].delegate = self;
Run Code Online (Sandbox Code Playgroud)

这个类在AppDelegate.m中实现如下:

CCController *myClass = [CCController alloc];
[myClass init];
Run Code Online (Sandbox Code Playgroud)

然后,当我的Lib发送事件时,我的CCController中的函数被调用.此时我需要使用参数调用我的Javascript函数.

我该如何实现呢?

我试过在AppDelegate.m中调用一个函数,其中包含:

NSString* jsString = [NSString stringWithFormat:@"myJSFunction(\"%@\");", stringParameter];
[self.viewController.webView stringByEvaluatingJavaScriptFromString:jsString];
Run Code Online (Sandbox Code Playgroud)

但是没有成功,我的JS中没有任何东西被调用......

我该如何实现呢?感谢帮助 :)

jce*_*ile 7

您必须创建一个插件并将本机代码放在那里,而不是使用它AppDelegate.m.

从插件类中,您可以执行以下操作:

NSString* jsString = [NSString stringWithFormat:@"myJSFunction(\"%@\");", stringParameter];
[self.webView stringByEvaluatingJavaScriptFromString:jsString];
Run Code Online (Sandbox Code Playgroud)

插件开发指南