gpt4 book ai didi

ios - XCFramework 与其他第 3 方依赖项

转载 作者:行者123 更新时间:2023-12-05 06:51:38 27 4
gpt4 key购买 nike

问题

我正在开发一个框架(我们将其命名为 MyFramework ),我想在主机 iOS 应用程序中使用它。 MyFramework取决于其他几个第三方库( AlamofireZIPFoundation 等),我在 MyFramework 中将其添加为 Swift Package Manager 依赖项项目。

创建后MyFramework.xcframework并将其添加到主机 iOS 应用程序,我收到编译错误 No such module 'Alamomfire' .正如 this thread 中的建议我添加了 Alamofire作为主机 iOS 应用程序中的 SPM 依赖项,它解决了编译错误。但是在运行时我收到一条控制台消息说 Class _TtC9Alamofire21CompositeEventMonitor is implemented in both <HOME>/Library/Developer/Xcode/DerivedData/DevSample-frwzbtlatwjedobzfossixhbtork/Build/Products/Debug-iphonesimulator/MyFramework.framework/MyFramework (0x10346eb98) and <HOME>/Library/Developer/CoreSimulator/Devices/D17DA122-DB76-4447-B8FD-14FC8405A856/data/Containers/Bundle/Application/F68CBE06-CC7F-40AA-ACA8-2210048CA495/DevSample.app/DevSample (0x102ed31f8). One of the two will be used. Which one is undefined.

问题

这是预期的行为吗?如本 Apple Doc 中所述不鼓励创建 Umbrella Frameworks。那么如何摆脱那些运行时警告/错误呢?

最佳答案

@Nominalista 我以这种方式创建了一个类似的应用程序和模块设置:我在同一目录中创建了应用程序和框架,然后将这个框架的 .xcodeproj 拖到我的应用程序中。在框架内,我添加了 Swift 包作为 Alamofire、ZIPFoundation。我可以使用框架本身和应用程序目标中的这两个传递依赖项中的任何一个,也可以使用简单的即“导入 Alamofire”。

我正在使用 Xcode 12.5,我明确地将 Alamofire 作为 Swift 包添加到框架和应用程序中,我没有收到“..is implemented in both...”警告。那么我能问一下您的项目是如何设置的吗?

关于ios - XCFramework 与其他第 3 方依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66136349/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com