Играл с Руби на джейлбрейке 4.2.1 3GS.Скрипт содержал следующий код (он отображает 0, 1 и 2 в 3 рядах, один за другим):
3.times {| x | px}
и был помещен в корень.Я вызвал его из делегата приложения очень простого приложения на основе представления в приложении * - (BOOL): (UIApplication *) приложение didFinishLaunchingWithOptions: (NSDictionary ) launchOptions , как указано ниже:
NSLog(@"1");
system("ruby /rt.rb");
NSLog(@"1.4");
NSLog(@"2 %@", system("ruby /rt.rb"));
NSLog(@"3");
Консоль Xcode показала следующее, показывая, что скрипт Ruby был успешно запущен:
Вт 15 ноября 12:13:13 wr-3gs rubytest [501]: 1 Вт 15 ноября 12:13:14 wr-3gs UIKitApplication: com.yourcompany.rubytest [0x687f] [501]: 0 вт 15 ноября 12:13:14 wr-3gs UIKitApplication: com.yourcompany.rubytest [0x687f] [501]: 1 вт 15 ноября12:13:14 wr-3gs UIKitПрименение: com.yourcompany.rubytest [0x687f] [501]: 2 вт 15 ноября 12:13:14 wr-3gs rubytest [501]: 1,4 вт 15 ноября 12:13:14 wr-3gs UIKitApplication: com.yourcompany.rubytest [0x687f] [501]: 0 вт 15 ноября 12:13:14 wr-3gs UIKitApplication: com.yourcompany.rubytest [0x687f] [501]: 1 вт 15 ноября 12:13:14wr-3gs UIKitApplication: com.yourcompany.rubytest [0x687f] [501]: 2 вт 15 ноября 12:13:14 wr-3gs rubytest [501]: 2 (ноль) втv 15 12:13:14 wr-3gs rubytest [501]: 3
То есть он должен работать без
, вызывающих вызов ruby'как пользователь root (как в system ("echo alpine |ruby '/rt.rb' root "); )
полностью указывает путь к исполняемому файлу ruby.
Тем не менее,вы можете попробовать выполнить последние два (запуск от имени root и / или указание полного пути к исполняемому файлу ruby) - они могут работать.