如何在Objective-c中通过终端解压缩文件

YU *_*ENG 1 macos terminal objective-c unzip nstask

我想通过Mac上的终端解压缩文件,而不是使用ZipArchive或SSZipArchive.

在终端中,我尝试了"解压缩"命令并且它运行良好,但我不知道如何通过目标c代码表达.

我试过这种方式(链接:没有提示解压缩)它工作但只解压缩了我的一半文件而不是所有文件.

谢谢 !!

Sim*_*n M 5

你试过这个system()功能吗?

system("unzip -u -d [destination full path] [zip file full path]");
Run Code Online (Sandbox Code Playgroud)

您需要NSString使用完整命令(包括文件路径)构造一个,并将其转换为系统命令的C字符串,如下所示:

NSString *myCommandString = 
[NSString stringWithFormat:@"unzip -u -d %@ %@", destinationPath, zipPath];
system([myCommandString UTF8String]);
Run Code Online (Sandbox Code Playgroud)

这不会返回任何命令的输出,所以如果你想要了解操作的详细信息,如果你的项目不需要错误处理,你应该更好地使用解压缩解决方案而不提示问题.没事的.