Notes and thoughts from Tony

JSPatch

Comments

前言

JSPatch用的越来越广泛。先记录下集成及使用的方式。由于公司没有提供专门的接口获取js脚本,而且也没有安全的访问方式,所以还是先试用JSPatch平台来实现吧。官方的文档写的很清楚,只记录遇到的坑。

集成

坑一:

我下载的时候提示是这个样子。

jspatch-01

我还纳闷怎么没有压缩,于是没考虑就选择了使用.framework的后缀名。这是个大坑。 jspatch-02

下载完拖入项目怎么搞都不对,我就怀疑难道framework不用暴露头文件的么。 jspatch-03

折腾了好久,在我下载第三次的时候,注意到了让我选择扩展名的步骤,这时候使用.zip扩展名下载,然后解压,终于看到了期盼已久的头文件。

坑二:

SDK接入既有截图又有中文。我遇到的坑是,因为之前已经导入过 libz.dylibJavaScriptCore.framework,所以在公司项目中使用的时候就没注意这一步。接下来自己新建个项目同样的步骤就忽略了这一步,哎。

使用

使用也写得很清楚:JSPatch 基础用法。但我还是遇到了坑。

坑一:服务器获取脚本和本地获取脚本方法不能同时使用,在输出的错误中能够看到,很容易解决。

[JSPatch startWithAppKey:appKey];
//    [JSPatch testScriptInBundle];

坑二:开发预览的使用。在这里其实写了开发预览的特性。使用这个特性要在发布补丁时选择==开发预览==,才能下载到补丁。

#ifdef DEBUG
    [JSPatch setupDevelopment];
#endif

打印的相关调试日志:

2016-07-07 09:55:39.452 test[35534:5943510] JSPatch: request http://7xkfnf.com1.z0.glb.clouddn.com/dev/43216a544ad73f6c/1.0?v=1467856539.452447

可以看到比正常路径多了 dev ,如果不注意就会忽略请求不到补丁的情况。

类似的,版本号也号也会对应着目录。新建补丁时的版本号不能乱来。