我有一个已经存在的 Objective-C 控制台应用程序。 我不是开发它的人,所以我无法轻松访问代码。因此,更改代码可能不是一种选择,但我所知道的是,要进行编译,它需要 Cocoa 和 SystemConfiguration。 (我在一封电子邮件中被告知) 一旦运行,它有一个等待命令的提示,并且在该命令之后有一个文本输出结果。 有没有一种方法可以获取此应用程序并在 Java 中运行它并捕获输出?
我以前从未进行过 OSX 开发,但我知道 C 代码可以很好地与 Java 一起工作,而 Obj-c 是 C 的超集,但是根据框架要求,很明显代码中的某处使用了对象。
我见过类似 rococoa 的东西,但有一段时间(2009 年)没有更新了,它仍然适用于 mountain lion 吗?
最佳答案
当你说你有一个 Objective-C 应用程序时,你真的是说你有一个为 Mac OS 编译的二进制/可执行文件?
如果是这样,你可以Class ProcessBuilder创建操作系统进程。
Process p = new ProcessBuilder("myCommand", "myArg").start();
注意:此解决方案仅适用于 Mac OS X。此外,您可能会遇到一些安全问题,因为 Java 喜欢在沙箱中运行。
关于java - 有没有办法从 java 执行 Objective-C 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15212797/