Search code examples
iosobjective-cshelljailbreak

Running shell script using Xcode with arguments on ios


I have a bash script which I want to start with arguments by an app. Currently I can generate the command, but how can I execute it? This app is for jailbroken phones only. Any solutions for this? I searched a lot, but didn't found anything.


Solution

  • If this is a jailbreak app, you can run the command by passing it to the system() function that's part of the OS, or one of the exec functions.

    So, if you decide to install your script at /Applications/MyApp.app/myscript.sh, then in your app, you could use:

    int result = system("/Applications/MyApp.app/myscript.sh argument1 argument2");
    

    You can install the script as I've shown, in your app's folder, as a resource, or in /usr/bin, or /bin, or wherever you like.

    You don't mention whether or not you're installing your app in /Applications, as most jailbreak apps are, or in the normal /var/mobile/Applications/* locations.

    If the above code doesn't work, please clarify where you want to install your app. Also, depending on whether or not your script requires root privileges, there may be more work necessary. There are some complications if you want to run a shell script as root.