oc直接执行js代码(不使用webview)

我们项目有个计算器类型的需求,前端已经用js代码写好了逻辑,app只需要调用js代码就可以了,但是页面并不是html。

导入框架

#import

1.首先需要把js代码转换成字符串注入到JSContext

NSString *calcPath = [[NSBundle mainBundle] pathForResource:@"calc" ofType:@"js"];

    NSString *calcJS= [NSString stringWithContentsOfFile:calcPath encoding:NSUTF8StringEncoding error:nil];

    JSContext *context = [JSContext new];

    [contextevaluateScript:calcJS];

2.这时就只需要调用js方法就好了

JSValue *value = [context evaluateScript:@"calc.festMonth(2018-09)"];//js的调用方法

或者

JSValue*festMonth = context[@"calc"][@"festMonth"];//获取方法

JSValue *value2 = [festMonth callWithArguments:@[@"2018-09"]];//调用方法 传参

你可能感兴趣的:(oc直接执行js代码(不使用webview))