我有一个依赖于几个静态框架的XCFramework。
我的XCFramework是在启用BUILD_FOR_LIBRARIES_FOR_DISTRIBUTION的情况下构建的。
子框架不需要可以从XCFramework外部访问。
当我试图在客户端(主机)应用程序中编译我的XCFramework时,在XCFramework的.swiftinterface文件中得到一个错误,显示No such module 'FBSDKLoginKit' (FBSDKLoginKit是XCFramework子框架之一)
似乎缺少的是相关模块的swiftinterface文件。例如,我使用的是FBSDKLoginKit,但是XCFramework中没有swiftinterface。
作为参考,我将框架编译如下:
xcodebuild archive -project "TestFrameowrk.xcodeproj" -scheme "TestFrameowrk" -sdk iphoneos -archivePath ~/Desktop/xcframework.arm SKIP_INSTALL=NO BUILD_LIBRARY_FOR_DISTRIBUTION=YES
xcodebuild archive -project "TestFrameowrk.xcodeproj" -scheme "TestFrameowrk" -sdk iphonesimulator -archivePath ~/Desktop/xcframework.x86 SKIP_INSTALL=NO BUILD_LIBRARY_FOR_DISTRIBUTION=YES
xcodebuild -create-xcframework -framework ~/Desktop/xcframework.x86.xcarchive/Products/Library/Frameworks/TestFrameowrk.framework -framework ~/Desktop/xcframework.arm.xcarchive/Products/Library/Frameworks/TestFrameowrk.framework -output ~/Desktop/Framework.xcframework发布于 2020-07-14 12:57:02
在与客户端项目集成时,您是否尝试使用创建的XCFramework单独添加其他依赖项?看起来,苹果建议避免在XCFramework中使用保护伞/嵌套框架。
发布于 2020-09-05 13:59:21
是的,我在依赖alamofire时也遇到了同样的问题。所以,当你生成xcframework时,你可以很好地依赖于FBSDKLoginKit。但是在生成框架后,你的客户想要使用.you,还必须提到依赖于相同版本的FBSDKLoginKit,那么这个问题就不会发生。对我来说,我在客户端添加了alamofire之后解决了这个问题。
https://stackoverflow.com/questions/62870132
复制相似问题