You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何创建依赖RxSwift等库的Swift框架?CocoaPods打包后集成崩溃怎么解决?

崩溃修复方案

你遇到的崩溃是静态框架分发时的典型类加载冲突问题,核心由两个错误配置导致:一是仅编译了模拟器架构的包、未开启Swift框架分发必需的ABI兼容配置;二是编译时将依赖的RxSwift符号打包进了自身框架,和宿主集成时下载的RxSwift产生符号冲突。

具体修复步骤

  • 首先修正fastlane构建逻辑,分别编译真机、模拟器两个架构的Release包,再合并为通用xcframework,替换你现有的xcodebuild逻辑:
# 编译真机架构包
xcodebuild(
  project:"Pods/Pods.xcodeproj",
  scheme:"BVSweeperKit",
  configuration: "Release",
  silent: true,
  clean: true, 
  build:true,
  xcargs: "BUILD_LIBRARY_FOR_DISTRIBUTION=YES SKIP_INSTALL=NO -sdk iphoneos"
)

# 编译模拟器架构包
xcodebuild(
  project:"Pods/Pods.xcodeproj",
  scheme:"BVSweeperKit",
  configuration: "Release",
  silent: true,
  clean: true, 
  build:true,
  xcargs: "BUILD_LIBRARY_FOR_DISTRIBUTION=YES SKIP_INSTALL=NO -sdk iphonesimulator"
)

# 合并为xcframework
sh "xcodebuild -create-xcframework \
  -framework ./Release-iphoneos/BVSweeperKit.framework \
  -framework ./Release-iphonesimulator/BVSweeperKit.framework \
  -output ./lib/BVSweeperKit.xcframework"
  • 检查你的框架target编译配置,添加OTHER_LDFLAGS = -ObjC,同时开启DEPLOYMENT_POSTPROCESSING = YES、STRIP_INSTALLED_PRODUCT = YES,确保不会把RxSwift等依赖库的符号打包进自身框架。
  • 本地验证时不要直接在框架项目下跑Debug,新建空白项目通过本地development pod方式集成:pod 'BVSweeperKit', :path => '你的框架本地路径',验证功能正常再上传。
正确的Swift静态框架构建及上传CocoaPods流程
  • 编写podspec文件,确认依赖版本、部署目标、静态框架标记等配置无误,你现有podspec的依赖配置无问题。
  • 执行本地校验命令:pod lib lint BVSweeperKit.podspec --allow-warnings,确认无报错。
  • 按照上述修正后的fastlane逻辑编译生成xcframework,放到podspec指定的lib目录下。
  • 给仓库打和podspec版本号一致的git tag,推送到远程仓库。
  • 执行上传命令:pod trunk push BVSweeperKit.podspec --allow-warnings,完成CocoaPods发布。
  • 新建空白项目远程依赖你的框架,分别在真机、模拟器运行验证无异常。

内容的提问来源于stack exchange,提问作者Novice

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 15:24:06