C++、Java、Objective-C、Swift 二进制兼容测试
鉴于目前动态库在iOS App中使用越来越广泛,二进制的兼容问题可能会成为一个令人头疼的问题。本文主要对比一下C++、Java、Objecive-C和Swift的二进制兼容问题。
iOS端动态库使用情况
- iOS 8开始支持App使用动态库。
- 苹果对提交的App的
__TEXT__段大小是有限制的,很多巨无霸App容易超出这个限制。iOS9之前每个架构的__TEXT__段比较小,iOS9放大到了500MB。详细情况请看:To submit an app for review。 - 开源库只能通过Podfile做源码引入,源码依赖,编译非常慢。
- 可持续构建也需要基于苹果的环境,比如使用Mac Pro/Mac Mini构建。Mac Pro比较昂贵,Mac mini性能不行,构建一次需要花费大量时间。
- 大型App为了加快编译速度,可以维护自己的私有仓库,把