添加外部库的注意事项

在添加外部的代码库时,需要关注以下几个问题:

  1. 纯代码的库,要测试是否具有平台相关的写法,需要同时支持 Win/Android/IOS/Mac 四个平台
  2. 对于 Android 的 so 要同时支持 arm64/armv7,打包时 so 文件的拷贝需要使用 UPL 执行
  3. ios 的 .a 要同时具有 bitcode 和非 bitcode 版本,不然在 shipping 时如果开启了 bitcode,链接不支持 bitcode 的库会有链接错误的问题。

检测当前构建是否支持 bitcode 的流程:

1
2
3
4
5
6
7
8
if (Target.IOSPlatform.bShipForBitcode)
{
// add support bitcode lib
}

{
// add not-support bitcode lib
}

Target.cs 中可以直接通过 IOSPlatform 获取当前构建是否支持 bitcode,在其他的 Module 中,可以通过 target.cs 中的 Target.IOSPlatform 获取。