在添加外部的代码库时,需要关注以下几个问题:
- 纯代码的库,要测试是否具有平台相关的写法,需要同时支持 Win/Android/IOS/Mac 四个平台
- 对于 Android 的 so 要同时支持 arm64/armv7,打包时 so 文件的拷贝需要使用 UPL 执行
- ios 的
.a
要同时具有bitcode
和非bitcode
版本,不然在 shipping 时如果开启了 bitcode,链接不支持 bitcode 的库会有链接错误的问题。
检测当前构建是否支持 bitcode 的流程:
1 | if (Target.IOSPlatform.bShipForBitcode) |
在 Target.cs
中可以直接通过 IOSPlatform
获取当前构建是否支持 bitcode,在其他的 Module 中,可以通过 target.cs
中的 Target.IOSPlatform
获取。