美文网首页
OC直截了当的调用JS文件中的方法_LD

OC直截了当的调用JS文件中的方法_LD

作者: LD_左岸 | 来源:发表于2018-09-27 19:14 被阅读15次

先说下碰见的问题

  • 之前app使用H5写的 加密方式用的des加密 用到了三个key去加密 百度半天发现OC里的des加密都是一个key的,由于对加密这块并不娴熟,搞个MD5加密还凑合 🙄
  • 最终为了最大限度的减少后台和我的工作量 决定直接调用以前js写的加密方法
  • OC调用js 或者js调用OC原生的方法 网上资料长篇累牍。。。但多数是通过H5与OC原生去相互调用
  • 但是我不可能去搞个H5的文件去桥接一下的 太复杂了就 而且也相当冗余

最终的做法是直接使用系统的 <JavaScriptCore/JavaScriptCore.h>库去搞

  • 实现代码如下
#import <JavaScriptCore/JavaScriptCore.h>
@property(nonatomic,strong)JSContext * context;
#pragma mark --- 返回des加密后的值
-(NSString*)returnDesValueWithStr:(NSString*)string
{
    NSString * str = [[NSBundle mainBundle]pathForResource:@"des" ofType:@"js"];
    NSString * jsStr = [NSString stringWithContentsOfFile:str];
    self.context = [[JSContext alloc] init];
    [self.context evaluateScript: jsStr];
    JSValue *addJS = self.context[@"strEnc"];
    JSValue *sum = [addJS callWithArguments:@[string,@"firstKey;",@"secondKey",@"threeKey"]];
    return [NSString stringWithFormat:@"%@",sum];
}

相关文章

  • OC直截了当的调用JS文件中的方法_LD

    先说下碰见的问题 之前app使用H5写的 加密方式用的des加密 用到了三个key去加密 百度半天发现OC里的de...

  • iOS原生&JS交互

    OC 获取js中的key OC调用js方法 JS调用OC中不带参数的block JS调用OC中带参数的block ...

  • Swift & JS

    1.使用JS文件中的方法和变量 2.直接使用OC中写JS语句来调用 3.OC中的方法写入JS,JS可以使用OC中的...

  • OC和JS的交互那点事

    1、OC调用JS代码 在代理方法webViewDidFinishLoad:方法中调用JS代码 2、JS调用OC代码...

  • WebViewJavascriptBridge 使用

    目的 掌握 OC 调用 JS方法 JS 调用 OC方法 OC——>sender JS——> sender OC 调...

  • iOS中 wkwebView与js 简单交互

    iOS 代码 js调用OC 方法 1、添加方法 2、接收js调用oc 的代理方法 3、移除js的监听方法 oc调用...

  • JS与OC原生方法互相调用

    本文将通过JavaScriptCore提供的方法,实现JS调用OC原生方法和OC中调用JS方法等 1.导入Java...

  • 协议拦截

    js调用OC 只需要正常一个url定向 OC中的操作 oc调用js 先在js中约定一个js方法备用 webView...

  • JavaScript和Object-OC互相调用

    一 调用的方法:## 1. OC调用js方法,只需要调用UIWebView自带的方法即可. 2.js调用OC方法,...

  • WKWebView与js的交互

    一JS调用OC的方法 方法一:利用WKUserContentController1、先在OC这边注册方法给js调用...

网友评论

      本文标题:OC直截了当的调用JS文件中的方法_LD

      本文链接:https://www.haomeiwen.com/subject/hbkyoftx.html