https://www.google.com.hk/search?q=ios+二进制化+运行时&newwindow=1&safe=strict&client=safari&ei=vDCjYLjIB7K2mAX-y7yQCw&start=10&sa=N&ved=2ahUKEwi4loqzodLwAhUyG6YKHf4lD7IQ8NMDegQIARBF&biw=1680&bih=936&dpr=2
为什么要做组件二进制化?
- 加速 App 构建,编译过一次的代码如果没有变化,没有理由再重复编译
- 代码隔离
首先,app 里已经二进制化了,就是代表去依赖了,所以你写什么版本就是什么版本,不会去做依赖计算
因为你们是二进制化的啊,组件是二进制化的,直接进入链接环节了
确定了,xxx SDK 二进制化时依赖了正确的SDK,和本地编译是依赖的不是同一个
iOS hpex 打包没问题,本地源码打包没有问题
https://www.google.com.hk/search?q=二进制化+链接&newwindow=1&safe=strict&client=safari&source=hp&ei=ODGeYJygMZbr-Qaly7HABw&iflsig=AINFCbYAAAAAYJ4_SNuoWv1XLoy_67Mk2SvJJsFHnt0w&oq=二进制化+链接&gs_lcp=Cgdnd3Mtd2l6EAM6AggAOgQIABAMOgYIABAFEB5Q2BBY7DVgkztoAnAAeAOAAZQHiAGVLZIBDTAuMy4zLjEuMS4zLjKYAQCgAQGqAQdnd3Mtd2l6sAEA&sclient=gws-wiz&ved=0ahUKEwicnMSU3cjwAhWWdd4KHaVlDHgQ4dUDCAo&uact=5
如果模块 A 进行二进制的时候依赖模块 C 1.1.0,app 里面依赖 C 1.2.0,而 C 的某个被 A 调用的方法在 1.2.0 版本里面改名字了,app 链接阶段不会报错,运行时 A 调用相关方法的时候会崩溃