iOS xcode 5 crashlytics error - Shell Script Invocation Error - ./Crashlytics.framework/run: Permission denied
Asked Answered
S

6

16

I have Crashlytics Framework added to my project, with a script. Run script: Shell: /bin/sh Script: ./Crashlytics.framework/run KEY_HERE

When I try to run the project, I get the following error:

Shell Script Invocation Error - ./Crashlytics.framework/run: Permission denied

BUT if i delete the framework and add it again, it runs fine... ONCE. Then the next time I get the same error. Then i have to delete it, and re-add it, for it to only run once, and then the same story...

Does anybody have an idea how to fix this? THANKS in advance.

Sabayon answered 29/9, 2013 at 11:49 Comment(0)
C
15

Are you keeping your project and the Crashlytics framework in Dropbox? I've noticed that Dropbox changes/resets the permissions set. Try pausing Dropbox sync and then set the permissions of Crashlytics.framework/run to 755.

UPDATE:
chmod 755 run only worked temporarily for me. As Hemal Shah wrote in his answer, I also had to tell git to make run executable. You can do so by calling git update-index --chmod=+x run and committing that. (via this answer).

After having moved my project and the Crashlytics framework out of Dropbox, and doing this, there were no further issues with it.

Carillon answered 13/11, 2013 at 7:3 Comment(6)
I actually do use dropbox. Good point. I will try that. Thanks!Sabayon
Have not worked with it yet, since i am working on another project but will get back to you :)Sabayon
Just worked for me. It actually only happened after I opened the project on another computer, I was running it just fine on my own for about a month. chmod 755 did the trick!Epigraphy
@Sabayon have you had any luck?Carillon
@Carillon i believe you are right, since i was using dropbox and now i dont and dont have problems with it :) Thanks :)Sabayon
How to make the file executable on SVN to permanently fix the issue? I have to run "chmod 755 ..." every time I check out the project.Lettyletup
C
9

In terminal just navigate to Crashlytics.framework folder if you use Crashlytics, in case you already use Fabric go to Fabric.framework folder. run should be there. And change permissions by running this in terminal: chmod 755 run.

Colossus answered 7/5, 2015 at 8:30 Comment(2)
I also needed "chmod 755 uploadDSYM" in some cases.Lettyletup
@Abdurrahman Mubeen Ali 'You are right' I also need "chmod 755 uploadDSYM"Valorize
T
6

Hemal from Crashlytics here!

A few things could be causing this - make sure that you're running the latest version of Crashlytics. If you click on the lower right-hand corner, then the release notes should show "- Added arm64 support for iPhone 5s."

Double check that if your SCM requires it, that the "run" binary is marked as executable!

Also, make sure you only have one copy of Crashlytics.app on your system and one copy of Crashlytics.framework in your project and that you're linking to the same copy being invoked.

Tectrix answered 30/9, 2013 at 15:53 Comment(0)
R
3

A simple and quick fix is to delete your Crashlytics framework and add it again in your project. This will fix the issue.

Randell answered 6/2, 2014 at 12:46 Comment(0)
P
3

I wanted to include my answer in case there is someone else who had this similar problem but is not using Crashlytics. I'm using Twitter Fabric and started get the error: ./Fabric.framework/run permission denied

Going to Build Phases and deleting the run script fixed this for me.

Edit: Adding to what I said above, just deleting the run script doesn't completely solve the problem, since you still need one to work with Fabric/Crashlytics. I ended up having to contact Crashlytics and this is what they told me (similar to @singhSan's resp0nse):

"Back up through the setup until you can click on the app-selector arrow in the top left corner. Then click on "+ New App" and select your project. This will function as a repair mode and get you the run script build phase you need."

Problem solved.

Playsuit answered 10/3, 2015 at 14:57 Comment(0)
G
2

Run below commands in your project folder:-

chmod +x Crashlytics.framework/run
chmod +x Crashlytics.framework/uploadDSYM
Gavrah answered 12/9, 2017 at 12:11 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.