JSPatch:Objective-C与Javascript桥接库

 ,  , 

屏幕快照 2016-03-18 下午7.25.09

JSPatch 可以让你用 JavaScript 书写原生 iOS APP,通常用于修补 iOS APP。只需在项目引入极小的引擎,就可以使用 JavaScript 调用任何 Objective-C 的原生接口,获得脚本语言的优势:为项目动态添加模块,或替换项目原生代码动态修复 bug。

项目仍在开发中,欢迎一起完善这个项目。

注意:获取完善的文档请移步 Wiki

示例

 

可以使用 JSPatch Convertor 自动把 Objective-C 代码转为 JavaScript 代码。

安装

拷贝 JSPatch/ 目录下的三个文件 JSEngine.m / JSEngine.h / JSPatch.js 到项目里即可。

使用

Objective-C:

  1. #import "JPEngine.h"
  2. 调用[JPEngine startEngine]
  3. 通过[JPEngine evaluateScript:@""]接口执行 JavaScript。

JavaScript:

基础使用方式

详细文档请参考wiki页面:Base Usage

定义类/替换方法

defineClass() 定义 Objective-C 的类,对类和实例方法进行动态替换。

 

详细文档请参考wiki页面:Usage of defineClass

扩展

一些自定义的struct类型、C函数调用以及其他功能可以通过扩展实现,调用 +addExtensions: 可以加载扩展接口:

 

扩展可以在JS动态加载,更推荐这种加载方式,在需要用到时才加载:

可以通过新增扩展为自己项目里的 struct 类型以及C函数添加支持,详情请见wiki页面:Adding new extensions

运行环境

  • iOS 7+
  • JavaScriptCore.framework
  • 支持 armv7/armv7s/arm64 处理器设备

开源地址:https://github.com/bang590/JSPatch

打赏支持我整理更多优质资源,谢谢!

打赏编辑

打赏支持我整理更多优质资源,谢谢!

任选一种支付方式

1 2 收藏

资源整理者简介:魏川程



直接登录

推荐关注

按分类快速查找

关于资源导航
  • 伯乐在线资源导航收录优秀的工具资源。内容覆盖开发、设计、产品和管理等IT互联网行业相关的领域。目前已经收录 1440 项工具资源。
    推送伯乐头条热点内容微信号:jobbole 分享干货的技术类微信号:iProgrammer