使用 pod 依赖构建 XCFramework

时间:2021-07-13 08:34:56

标签: ios swift xcode

同样的问题在这里问:XCFramework with Pods Dependencies 但在我的情况下,我不能将它作为 cocoapod,我需要它是 XCFramework

我们的目标是创建一个框架来隐藏我们的内部代码并向我们的客户提供 SDK。我们已经考虑创建满足我们要求的 XCFramework。互联网上也建议使用 Umbrella 框架,但主要建议避免这种方法。我们的框架依赖于我们通过 Pod 使用的一些第三方库。

问题:XCFramework 不编译 pods 框架。我们收到类似“未找到 Xyz(Pod) 模块”的错误消息。即使我们从客户端添加 pod,它也不起作用。

创建 XCFramework 的代码如下

  1. 为 iOS 平台创建存档

    xcodebuild 存档 -workspace ABC.xcworkspace
    -scheme ABC
    -sdk iphoneos
    -archivePath "./archives/ios_devices.xcarchive"
    BUILD_LIBRARY_FOR_DISTRIBUTION=YES
    SKIP_INSTALL=否

  2. 为 iOS 模拟器平台创建存档

    xcodebuild 存档 -workspace ABC.xcworkspace
    -scheme ABC
    -sdk iphone模拟器
    -archivePath "./archives/ios_simulators.xcarchive"
    BUILD_LIBRARY_FOR_DISTRIBUTION=YES
    SKIP_INSTALL=否

  3. 从档案创建 XCFramework

    xcodebuild -create-xcframework
    -framework ./archives/ios_devices.xcarchive/Products/Library/Frameworks/ABC.framework
    -framework ./archives/ios_simulators.xcarchive/Products/Library/Frameworks/ABC.framework
    -输出构建/ABC.xcframework 我们成功获得了 ABC XCFramework,但 XCFramework 中不包含依赖项。有什么解决办法吗?或者有什么方法可以将框架搜索路径设置为客户端?或任何替代方法?

1 个答案:

答案 0 :(得分:0)

尝试添加 -workspace yourworkspace.xcworkspace。 pod 依赖项是 .xcworkpspace 的一部分。所以我猜你需要包含工作区。

相关问题