NSTask
是一个苹果提供的简单的类来执行Shell命令。
我基于COTTaskHelper这个项目对NSTask
做了进一步封装,可以在Objecive-C
代码中方便的以同步或者异步的方式来执行命令。该封装已经放到github, 欢迎使用帮助优化。
同步的方式执行命令
int status;
NSData* result = runCommandSync(@"/usr/bin/curl -fsSL taobao.com", YES, &status);
NSLog(@"data length: %ld, status: %d", [result length], status);
异步的方式执行命令
runCommandAsnyc(@"/usr/bin/curl -fsSL taobao.com", YES, ^(NSData * _Nonnull data, int exitStatus) {
NSLog(@"data length: %ld, status: %d", [data length], exitStatus);
});