JSPatch 初体验 ——各种坑和工具、文章(不定期更新)

前言:前阵子项目刚上线很闲,自己学新东西,突然发现一个很牛的东东——JSPatch, 线上直接改BUG的利器啊(直接用来写模块个人现在还没那技术,而且React native会更好,虽然我不会),虽然一点都不懂JS,但是不需要审核,直接线上改bug的诱惑太大了,果断花两天时间学了下JS大体懂了,然后开始研究JSPatch。


工具

首先先把几个很好用的工具和文章贴在下面,工欲善其事必先利其器,有了这几个工具和前人经验文章,保证你少走大量弯路.(强烈推荐使用文章里让打开的js断点调试,非常有用!!!)

1、JSPatch专用 OC 转化 JS工具(虽然很多并不准确,不过初学者用它比一下一下打方便多了,可以类似用翻译软件翻译英文一样,先翻译再改不对的地方):JSPatchConvertor
2、JSPatchX —— JSPatch专用Xcode自动补全插件:JSPatchX
3、JSPatch 基础用法 : JSPatch 基础用法
4、JSPatch 常见问题 : JSPatch 常见问题
5、简书上的两篇前辈总结经验:使用JSPatch问题若干及解决方法 iOS开发 — JSPatch


各种坑

(虽然都是因为没有认真仔细看JSPatch基础用法导致的,原谅我比较心急,直接就像上手开始用)

1.私有成员变量不能直接访问,必须用valueForKey 或者 setValue_forKey调用。比如:

self.valueForKey("_moreModelArray").count(); self.setValue_forKey(NSMutableArray.array(), "_vcArray");

2.JS数组、字典、字符串等等和OC的都不一样
详见工具里面的文章,不具体说了,都是泪

3.JS不能识别枚举,比如:

_pageViewController = [[UIPageViewController alloc] initWithTransitionStyle:UIPageViewControllerTransitionStylePageCurl navigationOrientation:UIPageViewControllerNavigationOrientationHorizontal options:0];

UIPageViewControllerTransitionStylePageCurl和UIPageViewControllerNavigationOrientationHorizontal全部都不能识别啊有木有!!!所以我默默的都直接改成了对应的枚举值

var pageViewController = UIPageViewController.alloc().initWithTransitionStyle_navigationOrientation_options(0, 0, 0);

4.必须在require里面声明了相关类,才能使用相应方法,一般写在main.js的最上面,比如:

require('NSMutableArray,NSString,UIPageViewController, NSKeyedUnarchiver, FSProductFirstViewController, FSProductMoreDetailViewController, UIScreen');
  1. CGRect也是一个坑,最多的是在设置frame的时候,比如:
    view.frame.origin.x
    在js应该写成:view.frame().x (特别注意不是view.frame().origin().x)
    CGRectMake(20, 20, 100, 100)
    应该写成:{x:20, y:20, width:100, height:100}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 做iOS开发的朋友都知道,苹果上传Appstore审核周期比较长,这样App一旦出现Bug就不能急时修复,这也许是...
    MangoJ阅读 567评论 0 2
  • 1. require 在使用Objective-C类之前需要调用require('className’): req...
    深藏不露的zack阅读 1,393评论 0 0
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,262评论 4 61
  • 和朋友聊天,说起她大学时候某室友的光辉事迹。 新生入学第二天,本市另外一所985大学系主任过来帮忙装电脑,特客气地...
    首席米虫阅读 341评论 0 2
  • 四年前,也是这样一个秋风予凉的晚上,我行色匆匆的在出租车上,要去赴一个约。 当时我的内心很有些小忐忑。出门之前,仔...
    封狼居胥阅读 392评论 0 4