Mac os NSTask的用法

NSTask主要用于执行可执行文件exec或者调用第三方app,最近在使用,写点经验(感觉哪儿有问题多提意见...)

直接上代码:

NSTask *task= [[NSTask alloc]init];

[task setLaunchPath:cmd];//可执行文件路径

  [task setArguments:parameter];//参数

  [task launch];//启动task

  [task waitUntilExit];//直到程序运行结束,相应程序才会往下执行

//以下是一些属性:

//    resume  恢复task

//    suspend  暂停task

//    terminate  停止


以下是打印可执行文件里面的数据:

NSPipe *outputPipe = [NSPipe pipe];

[task setStandardOutput:outputPipe];

[task setStandardError:outputPipe];

NSFileHandle *readHandle = [outputPipe fileHandleForReading];

NSData *outputData = [readHandle readDataToEndOfFile];




NSString *outputString = [[NSString alloc] initWithData:outputData encoding:NSUTF8StringEncoding];

NSLog(@"%@",outputString);


问题来了,一切准备就绪,开始验证时,有时候会打印出launch path not accessible',说路径无法访问,解决办法:Capabilities --> App Sandbox 关闭就可以了

附上demo:https://github.com/huangqizai/Mac_Task

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容