如何从终端为Swift编写的应用程序构建可执行文件?

时间:2015-05-05 06:16:11

标签: macos swift terminal

我在Xcode之外询问如何做到这一点。

可以使用[2015-05-05 20:52:14] *************************Starting to validate DID number************************* [2015-05-05 20:52:14] Params->EmployeeID: 2579 [2015-05-05 20:52:14] Params->DID: 7790000658 [2015-05-05 20:52:14] inputFileName: /apps/web/htdocs/Database_all.xlsx [2015-05-05 20:52:14] inside try override func prepare(for segue: UIStoryboardSegue, sender: Any?) { if let identifier = segue.identifier { switch identifier { case constants.aSegue: // not the real name of my segue :-P // grab inside the navcon if let navCon = segue.destination as? UINavigationController { if let destinationVC = navCon.viewControllers.first as? CGSettingsPopupViewController { destinationVC.remoteObject = localObject // localObject is a kind of the class I need, as is remoteObject // now, changes to destinationVC.remoteObject will be accessible locally, when the destinationVC returns control } } default: break } } } 执行在文本编辑器中编写的Swift脚本。它们也可以设置为可执行文件并与shebang一起运行。这与Python等脚本语言并行。

但是由于Swift是一种编译语言,我确信必须有一些方法可以使用xcrun swift hello_world.swiftswift hello_world.swift等通过终端构建Swift可执行文件。有没有人发现任何有关此问题的内容?我惊奇地发现了什么。

1 个答案:

答案 0 :(得分:5)

您需要swiftc

% cat > hello.swift << EOF
heredoc> println("Hello, world!")
heredoc> EOF
% swiftc hello.swift 
% ./hello 
Hello, world!
%

如果要编译多个文件,则需要在启动时实际运行的文件main.swift(在这种情况下,您可能还想使用-o executablename)。

swiftc --help提供各种选项。您最有可能使用-O打开优化程序。

此外,根据您的环境设置,如果您使用的是xcrun -sdk macosx swiftc或其他SDK,则可能需要使用Foundation