我尝试使用此代码在Swift-Packet模块的标头中导入AppKit:
#import <AppKit/AppKit.h>
但是编译器抛出了这个错误:
fatal error: 'AppKit/AppKit.h' file not found
我应该以某种方式将其指定为Package的Package.swift文件中的依赖项吗?
提前致谢
迈克尔
答案 0 :(得分:1)
请注意,Swift Package Manager(SPM)适用于Server Side Swift,而不适用于客户端。具体来说,AppKit可能没有移植到Server Side Swift,因此您无法将AppKit与SPM一起使用。 AppKit是Objective-C运行时的一部分。 SPM在构建期间不考虑Objective-C运行时。
来自swift.org, Platform Support:
我们的目标是在所有平台上提供Swift的源兼容性,即使实际的实现机制可能因平台而异。主要的例子是Apple平台包括Objective-C运行时,这是访问Apple平台框架(如UIKit和AppKit)所必需的。在其他平台上,例如Linux,不存在Objective-C运行时,因为它不是必需的。
Swift核心库项目旨在通过提供基本Apple框架(如Foundation)的可移植实现来扩展Swift的跨平台功能,而不依赖于Objective-C运行时。虽然核心库处于开发的早期阶段,但它们最终将为所有平台上的Swift代码提供改进的源代码兼容性。
答案 1 :(得分:0)
我刚刚通过在Xcode中链接此框架解决了这个问题。 我不知道如何在Package.swift文件中指定它,但是知道它可以工作。
此致