如何使用Objective-C在Mac应用程序中运行应用程序?

时间:2013-06-29 17:23:10

标签: objective-c process

因此,我正在设计一个系统,该系统需要在系统上应用已知名称和路径才能按需运行。要运行的应用程序将是一个基于文本的应用程序,可以通过调用system("./xxx")

轻松运行

但是我关注的是,使用Objective-C有更好的方法吗?例如,要在流程运行后获取有关流程的其他信息,并可能将其终止或计时?

我可以使用哪种类和想法比调用该系统函数更好?

1 个答案:

答案 0 :(得分:1)

请参阅NSTask

但是,如果你需要做任何IPC,我会建议XPC服务。


如果您想为任务计时,请执行以下操作:

 NSDate *startDate = [NSDate date];

 ... run the task ...

 NSDate *endDate = [NSDate date];

然后你可以做一些日期数学运算(使用NSDate上的方法)来计算经过的时间。实际上,使用NSTimeInterval执行此操作更容易;它们只是表示自纪元以来秒数的浮点数,从后者中减去前者并且您已经过了时间。

当然,如果你在后台运行任务,你需要在ivars或其他东西中开始日期/时间间隔。