Bitcode禁用Carthage依赖项

问题描述 投票:3回答:1

脚本

我的项目(代码库为iOS / watchOS / tvOS共享)具有ENABLE_BITCODE = YES的构建设置,并利用了尚未支持bitcode的基础库,尽管引用了App Thinning中的Apple文档

Bitcode是默认值,但可选。对于watchOS和tvOS应用程序,需要bitcode。如果您提供bitcode,应用程序包中的所有应用程序和框架(项目中的所有目标)都需要包含bitcode

我目前正在将这些基础图书馆与迦太基整合。

问题

为了有一个干净的构建过程,我尝试向各个所有者提交一些拉取请求以启用bitcode,但由于其代码库的复杂性,这些代码库适用于多个操作系统/体系结构,我的拉取请求仍然在待定:所以,为了能够构建我自己的项目,我仍然需要手动更改其构建设置。

如何将Carthage进程短路以将特定构建设置(在本例中为ENABLE_BITCODE = YES)注入相关库中?

ios swift xcode carthage bitcode
1个回答
3
投票

我找到了一个解决方案,通过使shell脚本能够擦除bitcode的禁用,以防有人面对或好奇解决类似的问题,脚本是这样的:

carthage update --platform ios
for D in ./Carthage/Checkouts/*; do
  if [ -d "${D}" ]; then
    find $D -type d -name \*.xcodeproj -print0 |
      while IFS= read -r -d $'\0' folder; do
        sed -i '' 's/ENABLE_BITCODE = NO;//g' $folder/project.pbxproj
      done
    fi
done
carthage build --platform ios

基本上脚本的机制是:

  1. 下载所有依赖项
  2. 对于每个依赖,找到生活在qazxsw poi内的qazxsw poi并切断字符串pbxproj
  3. 最后建立依赖关系来制作.xcodeproj
© www.soinside.com 2019 - 2024. All rights reserved.