带有 pod 依赖项的 XCFramework

时间:2021-07-27 16:29:34

标签: swift xcframework

我正在尝试在 Xcode 中构建一个框架。使用 Cocoapods 作为依赖管理器并向目标添加 pod 'Alamofire'

这里有更多细节 -

  1. 我使用 Xcode 创建的这个项目 -> 文件 -> 新建 -> 项目 -> iOS -> 框架和库 -> 框架。
  2. 由于项目有依赖关系,我在终端上运行 pod install 命令后按照说明打开 xcworkspace 文件。
  3. 在目标部分下向同一项目添加了一个聚合目标。
  4. 从项目 -> 目标 -> 聚合目标 -> 构建阶段添加了一个新的运行脚本。
  5. 在运行脚本中添加了Apple指示的创建xcframework的步骤。
  6. 现在尝试构建聚合目标。
  7. 最后它产生了类似 - linker command failed or no such module Alamofire etc.
  8. 尝试了很多来自互联网的更改和说明,但到目前为止没有任何帮助。

enter image description here

I am using -
 Xcode - 12.5.1
 Swift - 5.0. 
 Macos - 11.5. 

这是 Xcode 的错误还是我在此过程中需要注意的任何特殊事情,还是我完全错误的操作?

注意 - 这是一个非常简单的项目,用于使用 pod 测试 xcframework 构建过程。实际上,我们有一个包含多个子目标作为框架的项目,我们计划将其构建为 xcframeworks 并与主项目目标链接。

1 个答案:

答案 0 :(得分:0)

尝试将此安装后步骤添加到您的 Podfile:

post_install do |installer|
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
      config.build_settings.delete 'IPHONEOS_DEPLOYMENT_TARGET'
      config.build_settings['BUILD_LIBRARY_FOR_DISTRIBUTION'] = 'YES'
    end
  end
end

并在您的 xcodebuild archive 中确保:

SKIP_INSTALL=NO BUILD_LIBRARY_FOR_DISTRIBUTION=YES