当前位置: 首页 > 面试题库 >

如何从Swift执行外部程序?

昌砚
2023-03-14
问题内容

我是Swift的新手,我没有发现任何有关使用Swing语言执行外部程序或访问外部进程的信息。

在语言开发的当前阶段是否可以做,还是应该改用Objective-C?

也许我的Swift程序中可以使用一些Objective-C库?

谢谢。


问题答案:

您可以使用运行外部程序NSTask。例如,从Circle和Square:

import Foundation

func executeCommand(command: String, args: [String]) -> String {

    let task = NSTask()

    task.launchPath = command
    task.arguments = args

    let pipe = NSPipe()
    task.standardOutput = pipe
    task.launch()

    let data = pipe.fileHandleForReading.readDataToEndOfFile()
    let output: String = NSString(data: data, encoding: NSUTF8StringEncoding)

    return output        
}

let commandOutput = executeCommand("/bin/echo", ["Hello, I am here!"])
println("Command output: \(commandOutput)")


 类似资料:
  • 问题内容: 我正在尝试从Java代码执行程序。这是我的代码: 我的操作系统是Mac OS X 10.6。 如果我从方法中删除,则所有文件名都将打印在控制台上。但是我需要将其打印到文件中。 另外,如果我将命令更改为: 并在Windows上运行,它也可以运行并在文件中完美打印结果。 我已经阅读了其他文章,以期从Java执行另一个应用程序,但似乎都与我的问题无关。 我会很感激我能得到的任何帮助。 谢谢,

  • 我试图制作一个调用外部程序的应用程序,我必须传递两个参数。它没有给出任何错误。 ,用C编写,拍摄照片并修改

  • 执行(Exec)外部程序 这是来自GoByExample的例子,代码在https://gobyexample.com/execing-processes。 把新程序加载到自己的内存。 与Spawn不同,执行外部程序并不会返回到原进程中,也就是让外部程序完全取代本进程。 代码实现 package main import "syscall" import "os" import "os/exec"

  • 我试图写一个Java程序,它得到一个可执行文件运行在Linux下。此可执行文件接收两个参数,并使用这两个给定参数执行nmap-sp操作。 我将此文件称为file.exe,其内容如下: 我得到以下异常和错误日志: 线程“main”java.io.ioException中的异常:无法运行程序“file.exe”:error=2,在java.lang.runtime.exec(runtime.java:

  • 问题内容: 我试图制作一个调用外部程序的应用程序,我必须传递两个参数。它没有任何错误。用c ++编写的program.exe可以拍照并修改txt文件的内容。Java程序可以运行,但是什么也没做 这是我的示例代码 问题答案: 从这里可耻地借来的

  • 我有代码: 年级4.5.1对此警告为 但是link没有给我任何可以替换它的提示,因为我不能仅仅设置任务依赖项,比如dependsOn或FinalizdBy--它不是从其他任务调用的,而是从构建的末尾调用的。