从 Xcode 外部的项目 Swift 导入类

Posted

技术标签:

【中文标题】从 Xcode 外部的项目 Swift 导入类【英文标题】:Swift import class from project outside Xcode 【发布时间】:2020-12-05 12:00:26 【问题描述】:

我正在学习 Swift,我想将协议从一个文件导入另一个文件。我看过这个帖子 How do I import a Swift file from another Swift file?,但所有答案都集中在设置 target 和其他 XCode 相关功能上。

我正在命令行上运行 swift 文件:swift myfile.swift,这显然是与 Xcode 不同的执行环境。有关导入相邻结构的任何指导吗?

myDir
├── CoolProtocol.swift
├── my file.swift

【问题讨论】:

【参考方案1】:

我在这篇博文中找到了答案:https://monospacedmonologues.com/2019/01/running-swift-without-xcode/

基本上,答案是使用swiftc 编译代码,包括“虚拟主文件”。并在要运行的代码中定义main函数:

├── Helpers
│   ├── CoolProtocol.swift
│   └── main.swift
├── my_file.swift

在 main.switf 中:

main()

在 my_file.swift 中

func main() 
// the main functionality

像这样编译:

swiftc -o myprogram my_file.swift Helpers/*.swift

【讨论】:

编译后可以像这样运行程序./my_file

以上是关于从 Xcode 外部的项目 Swift 导入类的主要内容,如果未能解决你的问题,请参考以下文章

iOS中生成并导入基于Swift编程语言的Framework

# 通过自动创建的 Bridging header 导入 Obj-C 类, Bridging header 似乎找到它但 Swift 类不会

Swift - 导入我的 swift 类

将CocoaPods(Swift)导入Xcode项目

Realm-Swift CocoaPod 导入后的未知属性“类”

Xcode Swift 编译错误导入名称太长