最近有个需求是通过h5唤起App相机进行扫一扫功能,由于公司前端并不是大神,需要我们App端进行辅助,于是我想到了利用与JS之间的交互,通过JS接口唤起我封装好的扫描控件,扫描到结果后再通过JS预留的接口把数据传回JS处理。
刚开始是没问题的 WKWebView 通过设置预留接口,可以完美唤起扫描控件
[userContentController addScriptMessageHandler:self name:@"qrCodeWord"];//反馈预留
[userContentController addScriptMessageHandler:self name:@"qrCodeClick"];//响应预留
- (void)userContentController:(WKUserContentController *)userContentController didReceiveScriptMessage:(WKScriptMessage *)message
{
if ([message.name isEqualToString:@"callFunction"]) { //调取扫一扫控件
}
}
但是在通过接口反馈到JS的时候一直报错
Error Domain=WKErrorDomain Code=4 "A JavaScript exception occurred" UserInfo={WKJavaScriptExceptionLineNumber=1, WKJavaScriptExceptionMessage=SyntaxError: Unexpected EOF,
接口为