今天推荐同事买了打折的Reveal2,发现它的动态库更新了,1和2不能共存(尴尬了..)
所以有了如下的解决过程
1.首先使用Cocoapods的脚本方式去添加自己的动态库到我的app中,也就是代码中的Config/Copy-frameworks.sh,作用就是签名并copy到app的framework目录下面,这样在运行的时候就能找到.这里有一个坑就是1.6.2版本的reveal的库,Reveal.framework其实是个静态库...同时他提供了一个libReveal.dylib,这个才是我们需要的动态库
2.在工程setting->Build Phases中添加一个Run Script去执行这个脚本
3.在工程的other swift flag中debug分类中添加 "-D" "DEBUG", 类似宏,有了这个判断, 方便我们判断Debug状态才加载库
4.在工程的Scheme中的Argument->Environment Variables中添加Reveal, 1或者2
5.在appdelegate中添加如下代码
这样就能够动态加载库了
PS: 如果是公共的scheme,还是会影响到其他人的代码,所以可以将xcuserdata这个目录加入了.gitignore中,这样任何env的修改都是本地的了,不会相互影响
惯例 demo地址