美文网首页MacOS笔记
MacOS使用NSTask执行命令行

MacOS使用NSTask执行命令行

作者: AIFENG0329 | 来源:发表于2021-02-25 18:22 被阅读0次

MacOS系统支持的命令行可以在/usr/bin下查看,使用-help查看帮助,eg:mdfind -help.

下面介绍NSTask代码中使用命令行,直接上代码,依旧是以mdfind为例:

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

[findTask setLaunchPath:@"/usr/bin/mdfind"];

 [findTask setArguments:@[@"-name",@"微信"]];

 NSPipe*p = [NSPipe pipe];

 [findTask setStandardOutput:p];

 [findTask launch];

 [findTask waitUntilExit];

 if(findTask.terminationStatus!=0) {

            kSafeBlock(action, nil, [self errorWithMsg:@"未查找到文件"]);

            return;

  }

获取执行结果:

NSData *data = [[[findTask standardOutput] fileHandleForReading] readDataToEndOfFile];

NSString *str = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];

NSArray *array = [str componentsSeparatedByString:@"\n"];

if(array.count==0) {

     kSafeBlock(action, nil, [self errorWithMsg:@"未查找到文件"]);

     return;

 }

以上内容只作为学习笔记

相关文章

  • MacOS使用NSTask执行命令行

    MacOS系统支持的命令行可以在/usr/bin下查看,使用-help查看帮助,eg:mdfind -help. ...

  • Objective-C中执行Shell命令

    NSTask是一个苹果提供的简单的类来执行Shell命令。我基于COTTaskHelper这个项目对NSTask做...

  • 基于xcrun的工程构建

    1.使用NSTask调用shell

  • Crowdin 翻译集成 iOS

    Homebrew for macOS 安装 Crowdin CLI 使用homebrew命令行 $ brew in...

  • 命令行总结

    1.命令行基础 先有命令行,后有的图形界面 Linux (ubuntu)使用终端 unix (macos)使用终端...

  • Mac终端下使用Shadowsocks代理访问

    参考链接: MacOS 10.12 终端命令行下使用Shadowsocks Mac Terminal使用Shado...

  • 代码实现dylib注入iPA

    yololib实现了使用终端将dylib注入到ipa,当我们编写Mac端工具的时候也可以调用NSTask执行终端,...

  • Mac OS NSTask的用法

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

  • Mac os NSTask的用法

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

  • Mac os NSTask的用法

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

网友评论

    本文标题:MacOS使用NSTask执行命令行

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