Nar*_*hal 5 frameworks ios swift swift-package-manager xcode8
我看过类似问题的答案,但仍然很困惑。
背景
我有一个项目正在运行,但我正在尝试在 Xcode 8.3.1 中重新创建它。我首先使用带有一个依赖项的 Swift 包管理器:[.Package(url: " https://github.com/OpenKitten/MongoKitten.git ", MajorVersion: 3)]。然后我按照我的笔记从 Cocoa 转换为 iOS(因为 SPM 不直接支持 iOS),这在之前的项目开始时有效:
一切看起来都很好,我的项目包括 MongoKitten 和它所依赖的一堆其他框架。其中之一称为“CLibreSSL”。我将所有框架作为目标添加到我新创建的目标中。
错误信息
我可以“导入 MongoKitten”到我的视图控制器中(自动完成工作)。但是,当我编译时,我收到此错误消息(即使我个人没有尝试导入 CLibreSSL):
Compile Swift source files
[... bunch of stuff referring to my new target and the viewcontroller ...]
<unknown>:0: error: missing required module 'CLibreSSL'
Run Code Online (Sandbox Code Playgroud)
我无法“导入 CLibreSSL”到我的视图控制器中(无法自动完成识别)。我注意到,当我访问 MongoKitten 相关源文件时,它们确实在导入语句中成功识别了 CLibreSSL。我什至可以删除它们并重新输入并成功自动完成。
问题
我意识到当我像我一样创建新目标时可能需要做一些额外的事情,并且它可能与搜索路径有关,但我已经尝试了很多东西并且结果没有改变。有人可以告诉我如何解决这个问题(请不要假设我有太多知识,因为我发现这些东西令人困惑)?
如果您需要更多信息,请告诉我。谢谢
当我在 iOS 应用程序中包含 Vapor 时,遇到了同样的问题“缺少必需的模块 \'CLibreSSL\'”。\n修复非常简单,应该也适合您:
\n\n转到您的项目\xe2\x80\x99s 构建设置。找到标头Swift Compiler\xe2\x80\x8a\xe2\x80\x94\xe2\x80\x8aSearch Paths。在Import Paths中,使用 ${SRCROOT} 添加 C 库\xe2\x80\x99s 文件夹的相对路径。如果您的文件夹包含子文件夹,请选择递归选项。
\n\n这是来自这里的提示
\n\n编辑 2017 年 5 月 26 日:正如评论中所建议的 - 当使用真实设备时,我的解决方案也不适合我。我只是在模拟器中玩,这个修复很有帮助。对于造成的混乱,深表歉意。\n在为真实设备进行编译时,由于缺少头文件(例如),CLibreSSL/getentropy_osx.c 无法编译<sys/vmmeter.h>- 所以底线:我的建议仅适用于模拟器。:-/
| 归档时间: |
|
| 查看次数: |
10042 次 |
| 最近记录: |