我们的目标是创建一个框架来隐藏我们的内部代码并向我们的客户提供 SDK。我们已经考虑创建满足我们要求的 XCFramework。互联网上也建议使用伞形框架,但大多建议避免这种方法。我们的框架依赖于我们通过 Pods 使用的一些第三方库。
问题:XCFramework 不编译 pod 框架。我们收到类似“未找到 Xyz(Pod) 模块”的错误。即使我们从客户端添加 pod,它也不起作用。
创建 XCFramework 的代码如下
1)为iOS平台创建档案
xcodebuild archive -workspace ABC.xcworkspace \
-scheme ABC \
-sdk iphoneos \
-archivePath "./archives/ios_devices.xcarchive" \
BUILD_LIBRARY_FOR_DISTRIBUTION=YES \
SKIP_INSTALL=NO
2) 为 iOS-Simulator 平台创建存档
xcodebuild archive -workspace ABC.xcworkspace \
-scheme ABC \
-sdk iphonesimulator \
-archivePath "./archives/ios_simulators.xcarchive" \
BUILD_LIBRARY_FOR_DISTRIBUTION=YES \
SKIP_INSTALL=NO
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 \
-output build/ABC.xcframework
我们成功获得了 ABC XCFramework,但依赖项不包含在 XCFramework 中。有什么解决办法吗?或者有什么方法可以将框架搜索路径设置为客户端?或任何替代方法?