2011-11-02 119 views
0

我已经越狱iPhone和ruby脚本在/var/root/目录中,我需要从本地iPhone应用程序(用XCode编码)执行命令。我试图从本机应用程序(导入的Foundation.h)运行system("ruby /var/root/my_script.rb")函数,但是调用没有执行脚本。如何从iPhone应用程序运行外部脚本?

感谢您的解决方案。

回答

0

在越狱4.2.1 3GS上玩过Ruby。该脚本包含以下代码(显示为0,1和2在3行,一个在彼此之后):

3.times {| X | P X}

和被放置在根目录下。我调用它从一个非常简单的基于视图的应用程序的应用程序的委托,在* - (BOOL)申请:(UIApplication的*)应用程序didFinishLaunchingWithOptions:(NSDictionary的)launchOptions如下:

NSLog(@"1"); 
    system("ruby /rt.rb"); 
NSLog(@"1.4"); 
    NSLog(@"2 %@", system("ruby /rt.rb"));  
NSLog(@"3"); 

Xcode的控制台显示以下,示出了Ruby脚本已成功运行:

星期二年11月15 12点13分13秒WR-3GS ruby​​test [501]:1 星期二年11月15 12时十三分14秒WR-3GS UIKitApplication:COM .yourcompany.rubytest [0x687f] [501]:0 Tue Nov 15 12:13:14 wr-3gs UIKitApplication:com.yourcompany.rubytest [0x687f] [501]:1 Tue Nov 15 12:13:14 wr-3gs UIKitApplication:com.yourcompany.rubytest [0x687f] [501]:2 Tue Nov 15 12:13:14 wr-3gs ruby​​test [501]:1.4 Tue Nov 15 12 :13:14 wr-3gs UIKitApplication:com.yourcompany.rubytest [0x687f] [501]:1 Tue Nov 15 12:13:14 wr-3gs UIKitApplication:com.yourcompany.rubytest [0x687f] [501]:2 Tue Nov 15 12:13:14 wr-3gs ruby​​test [501]:2(null) Tue Nov 15 12点13分14秒WR-3GS ruby​​test [501]:3

也就是说,它应在不工作

  1. 强制作为root用户调用'ruby'(如在系统中(“echo alpine |红宝石“/rt.rb”根“);

  2. 完全提供红宝石可执行文件的路径

不过,你可以尝试做最后两个(以root运行和/或提供完整的红宝石可执行文件路径) - 他们可能会工作

相关问题