我在ios 7.1.2上越狱了iPhone 5s,我想进行一些调整,以通过按下按钮的操作启动一些命令行。因此,我有几个问题:
我读过可以在Mac OS X应用程序中通过NSTask启动命令行,但是我也读过NSTask在ios中不可用。那么,如何在用户操作上启动几个命令行呢?
我需要某些命令的管理员权限,如果将我的应用程序放在/ Applications /中,我将自动拥有正确的管理员权限?因此,无需调用su二进制等...?
我是ios和越狱开发的新手,所以如果我告诉我愚蠢的事情可以纠正我!提前致谢
感谢其他成员和一些搜索,我找到了两个问题的答案:
(非常感谢@Nate的帮助),可以通过将头文件导入应用程序项目来在ios中使用NSTask。语法与在Mac OS X应用程序中使用的语法相同,但是您可以在此处找到一些帮助
放置在/ Applications /中的应用没有管理员权限。为此,您必须:
1)在main()函数中添加setuid(0);
并setgid(0);
2)正常构建应用程序。
3)如果您构建一个名为HelloWorld的应用程序,则Xcode将创建一个
HelloWorld.app目录,其中包含一个名为HelloWorld的文件,该
文件是可执行的。将此可执行文件重命名为例如MobileHelloWorld
4)完成此操作后,在HelloWorld.app
名为的目录中创建一个新文件HelloWorld
,并使用文本编辑器对其进行编辑以提供以下内容:
#!/bin/bash
dir=$(dirname "$0")
exec "${dir}"/MobileHelloWorld "$@"
当您点击应用程序的图标时,该脚本将运行,因为在应用程序的Info.plist文件中,可执行文件的名称为
<key>CFBundleExecutable</key>
<string>HelloWorld</string>
而HelloWorld
现在是一个shell脚本,它调用MobileHelloWorld
,重命名的二进制可执行文件。
5)在终端中,导航到应用程序捆绑包。
6)chmod 0775
原始可执行文件和chmod 6775
复制的可执行文件。
7)将应用捆绑包复制/Applications
到设备上。重新启动SpringBoard,您应该一切顺利。如果应用程序无法启动,请在设备上重复步骤5和6。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句