我在/var/root/
目录中越狱了iPhone和ruby脚本,我需要从原生iPhone应用程序执行命令(在XCode中编码)。我尝试从本机应用程序(导入的Foundation.h)运行system("ruby /var/root/my_script.rb")
函数,但调用没有执行脚本。
感谢您的解决方案。
答案 0 :(得分:0)
在越狱4.2.1 3GS上玩Ruby。该脚本包含以下代码(它显示3行中的0,1和2,一个接一个):
3次{| x | p x}
并被放置在根目录中。我从一个非常简单的基于View的应用程序的app委托调用它,在* - (BOOL)应用程序:(UIApplication *)应用程序didFinishLaunchingWithOptions:(NSDictionary )launchOptions ,如下所示:
NSLog(@"1");
system("ruby /rt.rb");
NSLog(@"1.4");
NSLog(@"2 %@", system("ruby /rt.rb"));
NSLog(@"3");
Xcode的控制台显示以下内容,显示Ruby脚本已成功运行:
星期二十二月十五日12:13:13 wr-3gs rubytest [501]:1 11月15日星期二12:13:14 wr-3gs UIKitApplication:com.yourcompany.rubytest [0x687f] [501]:0 11月15日星期二12:13:14 wr-3gs UIKitApplication:com.yourcompany.rubytest [0x687f] [501]:1 11月15日星期二12:13:14 wr-3gs UIKitApplication:com.yourcompany.rubytest [0x687f] [501]:2 11月15日星期二12:13:14 wr-3gs rubytest [501]:1.4 11月15日星期二12:13:14 wr-3gs UIKitApplication:com.yourcompany.rubytest [0x687f] [501]:0 11月15日星期二12:13:14 wr-3gs UIKitApplication:com.yourcompany.rubytest [0x687f] [501]:1 11月15日星期二12:13:14 wr-3gs UIKitApplication:com.yourcompany.rubytest [0x687f] [501]:2 星期二十二月十五日12:13:14 wr-3gs rubytest [501]:2(null) 11月15日星期二12:13:14 wr-3gs rubytest [501]:3
也就是说,它应该没有
强制以root用户身份调用'ruby'(如 system(“echo alpine | ruby'/rt.rb'root”); )
< / LI>完全提供ruby可执行文件的路径。
尽管如此,您可以尝试执行最后两个操作(以root身份运行和/或提供完整的ruby可执行文件路径) - 它们可能有效。