Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/106.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在ios上使用带参数的Xcode运行shell脚本_Ios_Objective C_Shell_Jailbreak - Fatal编程技术网

在ios上使用带参数的Xcode运行shell脚本

在ios上使用带参数的Xcode运行shell脚本,ios,objective-c,shell,jailbreak,Ios,Objective C,Shell,Jailbreak,我有一个bash脚本,我想从应用程序的参数开始。 目前我可以生成命令,但如何执行它? 此应用程序仅适用于越狱手机。 有什么解决办法吗?我找了很多,但什么也没找到 如果这是越狱应用程序,您可以通过将命令传递给系统(),或其中一个exec函数来运行该命令 因此,如果您决定将脚本安装在/Applications/MyApp.app/myscript.sh,那么在您的应用程序中,您可以使用: int result = system("/Applications/MyApp.app/myscript.sh

我有一个bash脚本,我想从应用程序的参数开始。 目前我可以生成命令,但如何执行它? 此应用程序仅适用于越狱手机。
有什么解决办法吗?我找了很多,但什么也没找到

如果这是越狱应用程序,您可以通过将命令传递给
系统()
,或其中一个
exec
函数来运行该命令

因此,如果您决定将脚本安装在
/Applications/MyApp.app/myscript.sh
,那么在您的应用程序中,您可以使用:

int result = system("/Applications/MyApp.app/myscript.sh argument1 argument2");
如我所示,您可以将脚本作为资源安装在应用程序的文件夹中,或安装在
/usr/bin
,或
/bin
,或任何您喜欢的地方

你没有提到你是否像大多数越狱应用一样在
/Applications
安装你的应用,或者在正常的
/var/mobile/Applications/*
位置安装你的应用


如果上述代码不起作用,请澄清您想在哪里安装应用程序。此外,根据脚本是否需要
root
权限,可能需要做更多的工作。有。

因此,该应用程序是作为普通应用程序安装的,在/Application/MyApp.app/中该脚本不需要root用户。我用system()尝试了它,但它不起作用。出了什么问题<代码>系统()返回错误代码结果。错误代码是什么?您是否记得使用
chmod
使sh脚本可执行?登录手机并执行
ls-al/Applications/MyApp.app/
,让我们知道脚本上的权限是什么。谢谢。该脚本是从cydia下载的,作为一个库,可以在任何地方执行。系统返回32512您的第一条评论不太清楚。如果将应用程序作为普通应用程序安装,则它将不在
/Applications
中。它将位于
/var/mobile/Applications
下。是哪一个?另外,您没有回答我关于脚本权限的问题。脚本部署到设备后是否可执行?可以直接从命令行运行它吗?有很多方法可以做到这一点。如果您具有终端/外壳访问权限,则可以通过ssh连接到设备中
cd
/var/mobile/Applications/
并执行
查找-名称MyAppName.app
。这将找到您的应用程序的安装位置。然后只需将整个
MyAppName.app
文件夹复制到
/Applications
。例如,更改到正确的目录后,
cp-Rp./MyAppName.app/Applications/
。然后,您可能希望卸载原始版本,否则将看到两个相同的图标。重新启动,或重新启动springboard,或使用
su mobile-c uicache
强制springboard查看新应用程序。完成。