我想在我的Swift应用程序中执行Shell命令。 我读到我无法使用NSTask,因为iPhone中没有内置的SSH。现在我的问题是如何在没有NSTask的情况下实现这一点。
答案 0 :(得分:1)
您可能希望查看名为“工作流程”的iOS应用,而不是创建自己的应用。它包括一个名为' Run Script Over SSH'这正是标题所说的。
答案 1 :(得分:0)
App Store规则禁止使用任何分支和生成新流程的API,因此,如果您要为计划提交的应用程序执行此操作,则简短的答案是您无法做到。< / p> iOS上确实存在
private static void SaveIfChanged<T>(Expression<Func<T>> expression, T newValue)
{
var expr = (MemberExpression)expression.Body;
object valuesOfAllFieldsOfObj = null;
if (expr.Expression != null)
{
var obj = (MemberExpression)expr.Expression;
var fieldsOfObj = (ConstantExpression)obj.Expression;
valuesOfAllFieldsOfObj = ((FieldInfo)obj.Member).GetValue(fieldsOfObj.Value);
}
var propertyInfo = ((PropertyInfo)expr.Member);
var oldPropertyValue = propertyInfo.GetValue(valuesOfAllFieldsOfObj, null);
if (oldPropertyValue.Equals(newValue)) return;
var desctiptionAttributes = (DescriptionAttribute[])propertyInfo.GetCustomAttributes(typeof(DescriptionAttribute), false);
Log("{0} changed from {1} to {2}", desctiptionAttributes[0].Description, oldPropertyValue, newValue);
propertyInfo.SetValue(valuesOfAllFieldsOfObj, newValue, null);
Save();
}
和NSTask
C库函数系列,但它们不是公共API。
如果您需要SSH功能,则需要找到一个提供该功能的库,以便通过App Store审核。