草庐IT

ios - NSTask 或等效的 iPhone

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭7年前。Improvethisquestion我有一个开源项目(gdal),我想将其作为iOS应用程序的一部分进行编译和运行。我一直期待使用NSTask但我现在看到它在iOS3.0中被删除了。我还在其他地方看到不允许运行外部应用程序,尽管这将是我的应用程序包中的资源。有没有其他人找到在他们的iOS应用程序中运行命令行工具的方法?

xcode - 使用 NSTask 的 Swift 2.1 OSx shell 命令在从 xcode 运行时有效,但在导出时无效

我编写了一个简单的OSx(10.11)应用程序来在按下按钮时执行shell命令。当我从xcode运行它时它可以工作,但是当我通过“存档”导出应用程序时,其中一个按钮不再起作用。我没有收到错误,也没有得到任何输出。我使用的是绝对路径,所以我不明白为什么它在xcode中工作但不能作为导出的应用程序工作,我也不明白为什么一个按钮工作而另一个按钮不工作。这是我使用makeshell命令的主要功能funcrunCommand(path:String,args:[String])->(output:[String],error:[String],exitCode:Int32){varoutput:

xcode - Swift 中 NSTask 的根权限

我在网上搜索了很多,想找到一种在我的NSTask中获得root权限的简单方法,但我只找到了用Objective-C编写的旧文章。但是我的Xcode项目是用Swift编写的:x有没有办法解决这个问题以运行具有Root权限的NSTask?:)我知道我必须使用AppleScript、STPrivilegedTask或Apple的BetterAuthorizationSample之类的东西,但我发现的都是用Objective-C编写的...我的想法是创建一个应用程序,使存储介质可以使用命令createinstallmedia启动:p一切正常,唯一的问题是该命令需要root权限,为了测试,我只需

swift - 在 Swift 中调用 Gnuplot

我正在尝试从swift调用gunplot以在.png中生成一些图。但是,下面的程序不起作用---结果1.png文件是空的。但是,如果我保留“settermaqua”,它会调用其中包含绘图的aqua窗口。但是,当我尝试将输出设置为文件(png或pdf)时,结果始终是一个空文件。gnuplot命令没问题——我可以手动正确运行它们。importFoundationlettask=NSTask()task.launchPath="/opt/local/bin/gnuplot"task.currentDirectoryPath="~"letpipeIn=NSPipe()task.standard

macos - 如何使用 swift 的 root 权限执行 shell 命令

我是Swift的新手,我正在尝试创建一个非常简单的应用程序,当您按下圆形按钮时,它会执行rootshell命令。我在网上找到了以下链接,它解释了如何在swift上以用户权限执行shell命令,但没有说明如何以root权限执行此操作:http://practicalswift.com/2014/06/25/how-to-execute-shell-commands-from-swift/我该怎么做? 最佳答案 快速而肮脏:NSAppleScript(source:"doshellscript\"sudowhatever\"withad

swift - 如果存在管道,通过 NSTask 的 cURL 不会终止

我正在尝试为Swift中的简单命令行批处理脚本同步读取URL的内容。为了简单起见,我使用cURL——我知道如果必须的话,我可以使用NSURLSession。我还使用swiftbuild在OSX上使用Swift的开源版本来构建它。问题是在某些URL上,如果stdout已被重定向到管道,NSTask永远不会终止。//Thiswillhang,andwhenterminatedwithCtrl-Creports"(23)Failedwritingbody"importFoundationlettask=NSTask()letpipe=NSPipe()task.launchPath="/usr

objective-c - NSTask/Process 弃用的方法和属性

在最新的Apple文档中,NSTask和Process有几个已弃用的方法和属性,尽管没有任何标记有APIAvailabilityMacro的内容。实例属性@property(copy)NSString*launchPath;@property(copy)NSString*currentDirectoryPath;varlaunchPath:String?{getset}varcurrentDirectoryPath:String{getset}实例方法-(void)launch;funclaunch()类型方法+(NSTask*)launchedTaskWithLaunchPath:(

ios - 如何等待 NSTask 在异步 block 中完成

NSURLSessionDataTask*dataTask=[self.sessiondataTaskWithRequest:requestcompletionHandler:^(NSData*data,NSURLResponse*response,NSError*error){if(error){NSLog(@"Didfailwitherror%@",[errorlocalizedDescription]);fail();return;}else{}我使用dataTaskWithRequest发送异步http请求,在完成block中,我想运行一个python脚本。NSTask*tas

bash - 带有默认值和 killall bash 命令的 NSTask

我正在尝试在Cocoa应用程序中运行以下两个bash命令:defaultswritecom.apple.finderCreateDesktopfalsekillallFinder使用NSTask,我有以下Swift代码来在单击按钮时执行命令:letcommands=["-c","defaultswritecom.apple.finderCreateDesktopfalse","-c","killallFinder"]lettask=NSTask()task.launchPath="/bin/bash"task.arguments=commandstask.launch()运行代码时我没

swift - 在 swift 中使用 NSTask 执行终端命令

你好,我正在尝试用swift编写一个简单的程序来执行这个在Dock中添加空白的命令:defaultswritecom.apple.dockpersistent-apps-array-add'{"tile-type"="spacer-tile";}';killall码头这是我使用的代码:lettask=NSTask()task.launchPath="/usr/bin/defaults"task.arguments=["write","com.apple.dock","persistent-apps","-array-add","'{\"tile-type\"=\"spacer-tile