【问题标题】:iOS - How does Cordova invoke objective c function?iOS - Cordova 如何调用目标 c 函数?
【发布时间】:2016-06-07 06:48:51
【问题描述】:
cordova如何触发objective-c原生方法。例如 - 当用户点击提交按钮(html 按钮)时,应用程序需要调用名为“dataSubmitted”的本机目标 c 函数。
- Cordova 是否监控 webview 导航并在内部基于 URL 标签调用方法?
- 除了监控 webview 导航之外,JavaScript 是否可以与 Obj-c 原生方法交互?
【问题讨论】:
标签:
ios
objective-c
cordova
【解决方案1】:
通过 JS 与原生语言进行交流有两种方式。
1. 前往 MainViewController.m -> 找到一个名为 webViewDidFinishLoad 的函数
并添加以下代码 sn-p..
- (void)webViewDidFinishLoad:(UIWebView*)theWebView
{
NSString *pageUrl = [theWebView.request.URL absoluteString];
if ([pageUrl containsString:@"xyz"]) {
// xyz for xyz.html
}else if ([pageUrl containsString:@"abc"]) {
// abc for abc.html
}
self.webView = theWebView;
return [super webViewDidFinishLoad:theWebView];
}
- 使用 cordova.exec 开发您自己的原生插件;