我有一个 iPhone 5s 在 ios 7.1.2 上越狱,我想做一个调整,通过按下按钮操作启动一些命令行。所以为此我有几个问题:
我读到可以在 mac os x 应用程序中通过 NSTask 启动命令行,但我也读到 NSTask 在 ios 中不可用。那么我该怎么做才能根据用户操作启动多个命令行呢?
我需要一些命令的管理员权限,如果我将我的应用程序放在/Applications/中,我将自动拥有管理员权限,对吗?所以不需要调用 su binary etc ...?
我是 ios 和越狱开发的新手,所以如果我说了愚蠢的事情,请纠正我!提前致谢
最佳答案
感谢其他成员和一些搜索,我找到了 2 个问题的答案:
(非常感谢@Nate 的回复),通过将头文件导入应用程序项目,可以在 ios 中使用 NSTask。语法与 mac os x 应用程序中的用法相同,但您可以找到一些帮助 here
放在/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 "$@"
当您点击应用程序的图标时,该脚本将运行,因为在 app的Info.plist文件,可执行文件的名字是
<key>CFBundleExecutable</key>
<string>HelloWorld</string>
和HelloWorld
现在是一个 shell 脚本,它调用 MobileHelloWorld
,
重命名的二进制可执行文件。
5) 在终端中,导航到应用程序包。
6) chmod 0775
原始可执行文件和 chmod 6775
复制的
可执行文件。
7) 将应用程序包复制到 /Applications
到设备。重启跳板
你应该可以开始了。如果应用程序未启动,请重复第 5 步
& 6 在设备上。
关于ios - 从越狱应用程序 ios 7 启动命令行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26121313/