gpt4 book ai didi

swift - 将 SwiftPM 中的框架嵌入 Cocoa 应用程序 (XCODE)

转载 作者:可可西里 更新时间:2023-11-01 02:00:07 24 4
gpt4 key购买 nike

我正在使用一个名为“HAP”(https://github.com/Bouke/HAP)的项目,该项目是使用 SwiftPM 构建的。

包含的示例“HAP-server”在命令行中运行良好,我使用参数“swift package generate-xcodeproj”创建了一个 XCODE 项目。

我还可以在 XCODE 中加载 HAP 并构建/调试目标“HAP-server”。

我想在我的 Cocoa 应用程序中使用这个框架,并将 HAP.xcodeproj 添加到我的项目中。我将生成的文件添加为“嵌入式二进制文件”和“链接的框架和库”。

这允许我将 HAP“导入”到我的 View Controller 类中。 enter image description here

但是,当我尝试构建我的 Cocoa 目标时,我收到以下消息 -- 似乎与 HAP 项目的依赖项“Kitura-net”有关...

“缺少必需的模块:'CCurl'、'CHTTPParser'”

enter image description here enter image description here

在我的项目中使用 SwiftPM 框架的最佳方式是什么?

我认为它与搜索 header 有关...有人知道吗?

更新 #1:

我尝试添加到我的 Cocoa 项目中,该项目正在通过“Link Binary With Libraries”导入正在使用 Kitura 的库,来自 usr/lib/的 libcurl.4.dylib 但它仍然给我同样的错误。

enter image description here

更新#2:

enter image description here

更新 #3

我最终使用以下方法解决了这个问题:Importing CommonCrypto in a Swift framework

我需要为每个项目创建一个模块映射,在我的例子中是:CCURL 和 CHTTPParser。一旦我这样做了,我就可以编译了。

最佳答案

您可以在此存储库中看到将 Kitura 嵌入 Xcode 项目的示例 https://github.com/IBM-Swift/Kitura-HelloWorld-iOS .此 repo 中的 Makefile 运行构建脚本来修复 Xcode 项目以在 iOS 上运行 Kitura。您需要为 iOS 编译 curl - 请参阅自述文件中的说明。

据我所知,您需要将带有 curl header 的目录添加到 Header Search Paths,将带有 libcurl.a 的目录添加到 Library Search Paths,并将 -lz 标志添加到 Other Linker Flags

关于swift - 将 SwiftPM 中的框架嵌入 Cocoa 应用程序 (XCODE),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47167257/

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