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

StackOverflow https://stackoverflow.com/questions/19077727

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.

有帮助吗?

解决方案

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.

其他提示

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.

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.

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.

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

Run below commands in your project folder:-

chmod +x Crashlytics.framework/run
chmod +x Crashlytics.framework/uploadDSYM
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top