java - 有没有办法从 java 执行 Objective-C 应用程序?

标签 java objective-c

我有一个已经存在的 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/

相关文章:

java - 线程状态 TimedWait。如何调试?

objective-c - NSMenu 以编程方式选择项目

iOS @IBOutlet views all be nil only in iOS 8

iphone - 如何从 json-rpc web 服务 : iPad/iPhone/Objective C 获取数据

ios - 使用类作为静态 AVAudioPlayer 的 AVAudioPlayerDelegate

java - 检查记录是否存在于数据库android中

java - s.equals ("") 和 "".equals(s) 有什么区别

java - hibernate 无法获得正确的结果集

java - ACID 如何在 Restful 微服务架构中工作

ios - 如何使用 SwipeGestureRecognizer 更改 UIImageView 图像?