如何在最新iOS项目中使用旧版二进制库TinyCrayon?
可行解决方案
方案1:虚拟机运行旧版编译环境
- 安装UTM、Parallels Desktop等虚拟机软件,在虚拟机内安装macOS Mojave 10.14版本系统,该系统可以完美运行Xcode 10.3。你可以直接在虚拟机环境中开发、编译、打包项目,完全匹配TinyCrayon的编译Swift版本,不存在兼容问题,打出的安装包也完全符合App Store的审核规则,是风险最低的可行方案。
方案2:使用源码重新编译
- 你可以找到该库的社区复刻版本或者逆向导出的源码,将源码直接导入你的项目,或者用当前Xcode 12.5.1版本重新编译生成新的framework使用。该方式可以彻底解决Swift版本兼容问题,后续也可以自行适配更高版本的系统和Xcode。
方案3:二进制补丁适配
- 你可以使用
swift-api-digester等官方提供的接口兼容工具,对现有TCMask.framework的Swift符号表、接口定义做适配处理,使其可以在Swift 5编译环境下正常链接运行。该方案不需要修改开发环境,但是需要做全量功能测试,避免出现运行时兼容问题。
方案4:替换为同类型开源库
- 目前社区有多个功能匹配的图片蒙版、智能裁剪开源库,均已完成最新Swift版本和Xcode环境适配,你可以评估功能匹配度后替换原有TinyCrayon库,省去后续的适配维护成本。
内容的提问来源于stack exchange,提问作者oOEric
相关产品推荐
相关产品推荐

