bluenowhere
bluenowhere

Reputation: 2733

Shell script invocation error - deleted Fabric framework remains in project

I've added Fabric/Crashlytics framework into my project manually (not via Cocoapods) before, and then deleted both manually too. This error showed up at the compile time:

/Users/myUserName/Library/Developer/Xcode/DerivedData/ProjectName-hgnmlcwlcxdbmqdzjjegfjbdmxsy/Build/Intermediates/ProjectName.build/Debug-iphonesimulator/ProjectName.build/Script-800A33631A8B53890076A7E8.sh: line 2: ./Fabric.framework/run: No such file or directory

I found the .sh file in the path and tried to delete it, but that file got generated automatically every time I run the project:

enter image description here

Please help me fix this hour burner...

Here's the entire error message if needed: dropbox link

Upvotes: 2

Views: 2863

Answers (3)

soumya
soumya

Reputation: 3811

Hope this helps:

Step : 1 : open your path (/Users/myUserName/Library/Developer/Xcode/DerivedData/ProjectName-hgnmlcwlcxdbmq‌​dzjjegfjbdmxsy/Build/Intermediates/ProjectName.build/Debug-iphonesimulator/Projec‌​tName.build/Script-800A33631A8B53890076A7E8.sh) with go to folder from finder.

Step : 2 : There open your "Script-800A33631A8B53890076A7E8.sh" file

Step : 3 : Modify .sh file as shown below

#!/bin/sh 
 exit 0; chmod 111 //add this after building has started and save

./Fabric.framework/run <FABRIC API KEY> <FABRIC API SECRET>

Upvotes: -1

loretoparisi
loretoparisi

Reputation: 16301

This still happens in

[Crashlytics] Version 3.7.0 (102).

You have to change file permissions for both the script

chmod 755 ./YourApp/SDK/Fabric/Fabric.framework/run

and the executable

chmod 755 /YourApp/SDK/Fabric/Fabric.framework/uploadDSYM

Upvotes: 4

ShellFish
ShellFish

Reputation: 4551

If the script doesn't need to be executed (which I'm guessing since you tried to delete it). You can always try this workaround:

$ script="/Users/myUserName/Library/Developer/Xcode/DerivedData/ProjectName-hgnmlcwlcxdbmqdzjjegfjbdmxsy/Build/Intermediates/ProjectName.build/Debug-iphonesimulator/ProjectName.build/Script-800A33631A8B53890076A7E8.sh"
$ awk 'NR==2 { print "exit 0;" } { print }' "$script" > .tmp && mv .tmp "$script"

Which adds an exit between the first and second line of the script. If the file gets regenerated you can also work around that by changing permissions:

$ sudo chmod 111 "$script"

This way the file should be protected from being overwritten or re-created.

Upvotes: 0

Related Questions