问题描述
最近我开始为公司开发后端项目,作为一名 iOS 开发者,我选择了 Vapor。
我已经阅读了 Hacking With Swift Book 的大部分内容,并且有足够的信心开始涉足我自己的项目。我正在为一些信息创建模型以传递到 Vapor API,但是当我尝试初始化模型对象时,它不会自动完成;所以我环顾四周,意识到可能是因为没有选择目标成员,所以我开始四处寻找。
但是,我的检查窗格中没有目标成员资格部分。我已经检查了我的常规 UIKit/SwiftUI 应用程序,并且在那些应用程序中,但是当我回到我的 Vapor 项目时它却没有。
我还注意到,当我在我的 Vapor 项目中创建一个新的 Swift 文件时,它也没有给我选择的选项。当我按下 CMD+N 快捷键时,我得到这个屏幕:
但是当我选择“Swift File”时,它只生成文件而不询问我将其分配给哪个目标。
我是否遗漏了使用 Vapor 4 更新的内容(我的所有资源都参考了 Vapor 3),还是我忽略了其他内容?
解决方法
您看到的不同之处在于 Vapor 项目(或任何使用 Package.swift 清单打开的 SwiftPM 项目)与 iOS 项目完全不同。没有要选择的目标,因为文件所属的目标取决于您放置文件的目录和 Package.swift 中声明的目标。
使用任何 Swift Package Manager 包都会得到相同的行为
基本上,将所有内容都放在 Sources/App 中,这使其成为 App 模块的一部分,可用于该模块中的其他任何内容