36

In the "Run Script" build phase of my project, everything works if I type in the script into the text box for "run script" in build phases.

But to make editing / diffing etc easier, I thought I would save the script as a file as part of my project, and just fill in the path in the text box instead:

Eg: I paste the following path in the text box.

/Users/superman/Documents/Projects/SomeProject/scriptname.sh

But when I try to build this, I get a "Permission Denied" message.

What can I do to fix this? If I cut/paste the actual code, then it just "works". My user account is an administrator account. No one else uses my machine.

Rahul Iyer
  • 19,924
  • 21
  • 96
  • 190

4 Answers4

82

You can simplify your Xcode project file a little further and not require the "bin/sh " in front of the script name.

To avoid this, you need to turn on "execute" permissions for users (Xcode in this case) of the file.

Steps

  • Go into terminal
  • Navigate to where your script is
  • run chmod 755 yourScriptName.sh
Scott
  • 1,276
  • 11
  • 9
39

Put /bin/sh in front of the path to the script name.

/bin/sh /Users/superman/Documents/Projects/SomeProject/scriptname.sh
lukas
  • 2,300
  • 6
  • 28
  • 41
Android63
  • 502
  • 3
  • 8
15

Just use

chmod u+x nameofscript.sh

Thats it .

Bharat jain
  • 419
  • 1
  • 9
  • 16
1

Simple Steps:

  1. Go to the <your_Script>.sh via cd <Your_Path_To_.sh_File>
  2. Run chmod +x <your_file>.sh

Thats it

Tunvir Rahman Tusher
  • 6,421
  • 2
  • 37
  • 32