【发布时间】:2020-03-04 04:48:07
【问题描述】:
我试图使用SSH.NET NuGet package 远程执行命令以获取安装在连接到 Mac 的 iPhone 上的应用版本。
如果在 Mac 上使用以下命令执行,我会得到它的版本:
ideviceinstaller -l|grep <bundleIdOfMyAppPackage>
所以我用这个包在 C# 中构建了一个小实用程序,希望我能利用它。但是,我得到的只是一个空字符串。谁能让我知道我能做些什么来得到我想要的结果?谢谢!
var host = "myhost";
var username = "username";
var password = "password";
using (var client = new SshClient(host, username, password))
{
client.HostKeyReceived += delegate(object sender, HostKeyEventArgs e) { e.CanTrust = true; };
client.Connect();
var command = client.CreateCommand("ideviceinstaller -l|grep <bundleIdOfMyAppPackage>");
command.Execute();
var result = command.Result;
Console.WriteLine(result);
client.Disconnect();
}
我从command.Error 得到的错误是
zsh1:找不到命令 ideviceinstaller`
这很奇怪,因为如果我浏览到那里,我可以在该文件夹中看到 ideviceinstaller。
感谢@Martin Prikryl,将命令更改为:
/usr/local/bin/ideviceinstaller -l|grep <myAppBundleId>
【问题讨论】: