listTask.launch() // 开启执行 listTask.waitUntilExit() } 3.5 使用NSPipe...获取NSTask 执行的结果信息 在Swift中,NSPipe 被改名为Pipe extension ViewController{ fileprivate func captureStandardOutputAndRouteToTextView...小结 NSTask为我们提供了可以在一个应用中,调用另一个应用<的可能.其中比较普遍的一个使用场景是我们可以在自己的App中,调用强大的Shell命令,或者执行自己写的脚本来实现一些辅助功能 NSPipe
task setLaunchPath:path]; [task setArguments: @[@"list", @"-j", @"devices"]]; NSPipe...*output = [NSPipe new]; task.standardOutput = output; [task launch]; [task
NSPipe代表一个BSD管道,即一种进程间的单向通讯通道。 线程和子任务。 NSThread类使您可以创建多线程的程序,而各种锁(lock)类则为彼此竞争的线程在访问进程资源时提供各种控制机制。
---- 本文参考文章: IOS多线程开发其实很简单 iOS线程通信和进程通信的例子(NSMachPort和NSTask,NSPipe) http://www.cnblogs.com/samyangldora
虽然通过NSTask和NSPipe也可以执行pod install命令,但是获取到的StandardOutput日志无法高亮,看起来十分痛苦。
领取专属 10元无门槛券
手把手带您无忧上云