【发布时间】:2020-11-02 07:28:01
【问题描述】:
我有一个依赖于几个静态框架的 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
【问题讨论】:
-
你能解决这个问题吗?我正在尝试做类似的事情。是在客户端添加依赖的唯一方法吗?
-
我在 xcode 12.4 上的静态框架也遇到过类似的问题。 deps 是通过客户端 podfile 实现的,但它只适用于动态框架。 static 在链接时给出
No such module错误或Undefined symbol
标签: swift xcode frameworks xcframework static-framework