美文网首页
Mac os NSTask的用法

Mac os NSTask的用法

作者: 流年小书 | 来源:发表于2019-07-05 13:54 被阅读0次

    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

    相关文章

      网友评论

          本文标题:Mac os NSTask的用法

          本文链接:https://www.haomeiwen.com/subject/abashctx.html