如何使用fastlane构建框架?

8
使用Fastlane Gym构建ipa非常容易。但是我的目标是构建一个框架。以下是构建框架的方法:
gym(
  clean: true,
  scheme: "SGVSDK",
  project: "../Prj/SDK/SGVSDK.xcodeproj",
  # build_path: "./",
  archive_path: "./" + archiveName,
  skip_package_ipa: true,
)

但是它只能构建设备框架吗?如何构建模拟器框架? 使用fastlane进行SDK CI,有什么技巧可以提供给我吗?

2个回答

4
我的建议是创建聚合目标来构建通用框架(适用于模拟器和设备),并使用其他的sh脚本,具体步骤可参考以下教程:https://medium.com/@syshen/create-an-ios-universal-framework-148eb130a46c。 在Fastfile中,可以像下面这样构建聚合目标:
xcodebuild(
    scheme: "Framework-Universal",
    configuration: "Release",
    clean: true,
    build: true
)

这种解决方案在最后会产生错误,不适合于CI/CD。 - Henadzi Rabkin
不要使用通用框架... xcframeworks 更好! - Isaaс Weisberg

1
我使用 Fastlane Swift 构建聚合框架,使用以下功能,这可能会对您有所帮助。
buildIosApp(workspace: "PayTabs.xcworkspace", 
scheme: "Aggregated Framework", 
clean: true, 
configuration: "Release", 
skipPackageIpa: true, 
includeSymbols: false, 
skipArchive: true)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接