You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何让Xcode生成.xcframework而非.framework?

如何让Xcode生成.xcframework而非.framework?

我完全懂你的困扰——Xcode 16新建Framework项目时确实没提供直接选择生成xcframework的选项,但其实有两种简单靠谱的方法可以实现,下面一步步教你:

方法一:通过Xcode归档导出(可视化操作,适合新手)

  • 打开你的Framework项目,先确认已经配置好需要支持的目标平台(比如iOS、macOS等,按需添加)
  • 点击顶部菜单栏的 Product > Archive,等待归档完成后,会自动弹出Organizer窗口
  • 在Organizer里选中刚完成的归档包,点击右下角的 Distribute Content 按钮
  • 在弹出的窗口中选择 Framework & Library,点击 Next
  • 接下来在分发选项里勾选 XCFramework,然后选择你需要包含的平台架构(比如arm64、x86_64),点击 Next
  • 最后选择一个保存路径,点击 Export,稍等片刻就能拿到打包好的xcframework文件了

方法二:用命令行手动打包(更灵活,适合多平台定制)

这种方法适合需要精准控制打包平台的场景,步骤如下:

  1. 先分别编译不同平台的framework包:
    • 编译iOS设备版本:
      xcodebuild archive -scheme [你的Scheme名称] -destination "generic/platform=iOS" -archivePath "./build/ios.xcarchive" SKIP_INSTALL=NO BUILD_LIBRARY_FOR_DISTRIBUTION=YES
      
    • 编译iOS模拟器版本:
      xcodebuild archive -scheme [你的Scheme名称] -destination "generic/platform=iOS Simulator" -archivePath "./build/iossim.xcarchive" SKIP_INSTALL=NO BUILD_LIBRARY_FOR_DISTRIBUTION=YES
      
    (如果需要支持macOS等其他平台,只需要修改destination参数对应的平台即可)
  2. 把编译好的多个framework合并成xcframework:
    xcodebuild -create-xcframework -framework ./build/ios.xcarchive/Products/Library/Frameworks/[你的Framework名称].framework -framework ./build/iossim.xcarchive/Products/Library/Frameworks/[你的Framework名称].framework -output ./build/[你的XCFramework名称].xcframework
    
  3. 执行完命令后,去你指定的./build目录下,就能找到生成好的xcframework文件了

小提示:如果想让项目每次Build都自动生成xcframework,还可以给目标添加Run Script脚本,但上面两种方法已经能满足大部分日常需求啦。

备注:内容来源于stack exchange,提问作者GruntBiscuits

火山引擎 最新活动