74

I'm installing Crashlytics for my iOS app. I downloaded it via their site link, and went through all the steps for integrating the frameworks, adding the run script, etc.

I was experiencing an issue, so I removed the frameworks and decided to start over and try a fresh install. But the Fabric app updated to a newer version, and now when I try to reinstall Crashlytics into my app, it doesn't give me the option to reinstall the frameworks. It goes straight from clicking "install" to the "Build your project" screen, which I cannot pass.

To help configure your project, please build it now by pressing ⌘B

I press ⌘B, it builds and nothing happens. I think the issue is because I removed the Crashlytics and Fabric frameworks from my project, but I can't see a way to add them back again. The Fabric app doesn't give me that option.

Jamal
  • 763
  • 7
  • 22
  • 32
wanderingme
  • 745
  • 1
  • 5
  • 7
  • 1
    @MikeB: All I am seeing is "Now let's update Crashlytics", with no option to actually add a new app later. Update flow just does not work due to duplicated symbols. How do I get a correct version of Crashlytics framework which works nice with Fabric? – Matej Balantič Apr 18 '15 at 11:11
  • @MatejBalantič odd to hear that you're seeing duplicated symbols. Try removing the current copies of the framework. Also the step I mentioned earlier would also function as a repair mode to get you back up and running. – Mike Bonnell Apr 20 '15 at 17:09
  • I want to say the MAIN issue here is when you try this with a `.xcworkspace`. The reason being that if you open from Crashlytics it opens your `.xcxcodeproj`. – Jacksonkr Aug 22 '17 at 18:06
  • Using Xcode 10.2, the answers below stop working again. Have to install Fabric using manual method. – Raptor May 22 '19 at 09:26
  • @Raptor is right. This stopped working with Xcode 10.2 w/ Cocoapods. Haven't tried installing Fabric manually (and it's not something I'm keen to do). – albertodebortoli Jun 07 '19 at 09:38
  • @albertodebortoli it's easy. Just drag the 2 frameworks to Xcode, add the Build Phase Script, and compile. Better than stuck waiting for Fabric's fix. – Raptor Jun 10 '19 at 02:23

27 Answers27

163

Go into Build settings of the your target. Find "Debug Information Format". Set this from "DWARF" in both debug and release to "DWARF with dSYM File"

ssuperczynski
  • 3,190
  • 3
  • 44
  • 61
Stigblue
  • 1,631
  • 2
  • 10
  • 3
69

Moving from Comment to Answer.

Mike from Fabric here. If you back up through the Mac app, then click on the arrow in the top-left, click on "+ New App", that will walk you through re-adding everything.

Mike Bonnell
  • 16,181
  • 3
  • 61
  • 77
  • I have related problem. I had project at old mac. added fabric created build with Beta and all that good stuff. as mentioned in dos. dont copy framework in project. I didnt. project run fine on old mac. but when I clone repo to another mac. I just can compile. My app shown in the list on new mac tho. its stuck on "To help configure your project, please build it now by pressing ⌘B" as I cant build because fabric.h is missing. any suggestion for me? i tried using add new app. get error screen says can add. contact support :( – Alok C May 07 '15 at 08:11
  • Sounds like something was corrupted when getting the new files in. Using my answer above should help fix it on the new machine as well without affecting anything else. – Mike Bonnell May 07 '15 at 12:57
  • 1
    I tried adding new app where it already showing my app in list. First thing that I never had that project in new machine. if its reading from fabric website fine. but then I get stuck on build and spinner is spinning waiting project to get compile which it wont as Fabric.h is missing. And its happening with all the projects. as soon as I clone repo somewhere else except host machine(where fabric was added to project). All are broken. – Alok C May 07 '15 at 16:38
  • Yea, that sounds like there could be hardcoded paths breaking the path to the underlying framework or symlinks are being broken. – Mike Bonnell May 07 '15 at 16:39
  • is there anything on Fabric website related to that? All I could find out was support email and with free account how much support I am going to get. I am not sure about that :(. Any pointer for me. which direction I should go ? – Alok C May 07 '15 at 17:06
  • We're actively supporting Fabric Alix and all accounts are free! Drop me a note, I'm waiting for it. – Mike Bonnell May 08 '15 at 12:25
  • I have sent msg. referring this post and chatting with you here. – Alok C May 08 '15 at 14:04
  • 9
    @MikeB can we just create app on the web and use Cocoapods, I don't like the Fabric Mac app – onmyway133 May 19 '15 at 07:49
  • 3
    Have you guys solve this problem yet? I have the same problem, and cannot follow your steps above cause I cannot build my app due to "framework not found Fabric" error. And also definitely love to have Fabric in Cocoapods. – berilcetin Jun 16 '15 at 19:36
  • Can you drop me a note at support@ with more details on how your project is setup and what frameworks you have included? – Mike Bonnell Jun 16 '15 at 20:21
  • Same kind of problem on the Android side in 12/14/2015 -- six months after being reported on iOS. http://stackoverflow.com/questions/34258981/why-doesnt-following-the-fabric-io-steps-for-twitter-login-work-for-android-app/34272161 – raddevus Dec 14 '15 at 18:49
  • @Dmitry happy to help sort out what's going on. Did you also post at TwitterCommunity? – Mike Bonnell Feb 16 '16 at 01:21
  • I used Fabric in my App .. is it possible to add Fabric in my SDK that i am using for my App as well ? – tp2376 Oct 19 '18 at 17:43
  • Has there been a solution found to this? I can't progress any further :( – Shayne Feb 13 '19 at 04:23
  • @Shayne if you're still hitting issues after trying the various solutions in the thread it's best to contact support(at)fabric(dot)io so the team can assist. – Mike Bonnell Feb 13 '19 at 15:03
  • We moved onto a different solution. We just dont have the time or money to debug other peoples products. Particularly if we're supposed to trust that product to test our own products. If it can't install, its not in the running. – Shayne Feb 15 '19 at 04:44
  • You should use whatever tool and platform best suits your needs. The circumstances that can cause this problem are not present if you use Crashlytics via Firebase which is the recommendation given Fabric's upcoming retirement in 2019. – Mike Bonnell Feb 16 '19 at 23:18
25

If you check the resource navigator you may see the following message:

"DEBUG_INFORMATION_FORMAT should be set to dwarf-with-dsym for all configurations. This could also be a timing issue, make sure the Fabric run script build phase is the last build phase and no other scripts have moved the dSYM from the location Xcode generated it. Unable to process eCreditWebWrapper.app.dSYM at path"

Go to Build Settings and search for "Debug Information Format". Ensure "Debug" is set to "DWARF with dSYM File".

Without the dSYM file Fabric won't work.

Andrew Kozlik
  • 1,189
  • 1
  • 11
  • 15
6

As for Xcode 10.2.1, the automated installation via Fabric Mac app won't work anymore. New apps cannot be added via the New App Step-by-step guide.

You have to follow the manual installation instructions. Download and add the 2 frameworks into your Xcode workspace, then add the Run Build Script phase (and related Fabric codes), then build the App. Last (very important), run the app in an actual device.

Once the App is successfully launched, the new App information will be available in the Fabric dashboard as well as the Fabric Mac App (needs to relaunch the App to see the new app).


Here are the steps:

  1. Download the 2 frameworks
  2. Drag to your project where your App Delegate is (make sure ticked "Copy items if needed")
  3. Compile the project / workspace in Xcode
  4. Add the "Run Script Phase" as instructed here; note that Xcode 10+ requires an extra configuration at Input Files
  5. Add the required import and initialization codes in App Delegate
  6. Add the Fabric API keys in Info.plist
  7. Compile again
  8. Run the App in a real device. You will see the line Crashlytics in the Xcode log. If no log appears, checks if your active scheme contains OS_ACTIVITY_MODE settings. Set it to default if the current setting is disabled.
  9. If the Crashlytics line appears, that means the manual installation is working; you will see your App appearing at Fabric online dashboard.
Raptor
  • 53,206
  • 45
  • 230
  • 366
  • I have done as the instruction. Still not working. other suggested solution are also not working. you have any idea? – Ibrahim Jul 10 '19 at 03:41
  • I have added the steps in my answer. hope it helps. – Raptor Jul 12 '19 at 02:36
  • Hi @Raptor I figured something was not working with the newest Xcode version... I followed your steps and I see in the logs stuff like: `[Crashlytics] Version 3.13.4 (143)` `[Crashlytics] Running on iPhone10,6, 12.2.0 (16E227)` `[Fabric] Initialized with kit versions: { "com.twitter.answers.ios" = "1.4.1"; "com.twitter.crashlytics.ios" = "3.13.4"; "io.fabric.sdk.ios" = "1.10.2"; }` ` [Fabric] settings downloaded successfully` .... But still doesn't show on my dashboard – emiliomarin Jul 18 '19 at 16:46
  • It should show in Fabric dashboard. Make sure you choose the right app in the dashboard. – Raptor Jul 19 '19 at 04:22
  • Running the app on the device is critical. To also get my first crash report, it was necessary to implement the code that force crashes and then redeploy to the device (as opposed to reopening the app on the device itself), as relaunching the app via XCode is what sends the crash report. – Pigpocket Sep 04 '19 at 22:25
5

I have solved this issue by the following way. Following the advise from above, I began adding a new app to crashlytics. When I reached to adding new "Run script" build phase, I just copied that text and pasted it over the previous one(created with Crashlytics). I have also unchecked "Run script only when installing".

After this, I canceleed adding a new app and procedeed back to the UPGRADE. At this moment, building the app, can pass you to the next step and you don't get stuck on that screen anymore.

Oleg Danu
  • 4,149
  • 4
  • 29
  • 47
5

I was stucked on Build phases too.

I have also unchecked "Run script only when installing" and press again command+B and then I passed to the next step.

Ricardo
  • 7,921
  • 14
  • 64
  • 111
  • This was all I needed to do! Much simpler than recreating a new app and reinstalling everything... – Jake T. Mar 28 '18 at 17:53
5

If the script is not running, you may have checked the "run script only when installing" in the run script section. I hope it helps

Picsou
  • 51
  • 1
  • 1
3

TL;DR

Tap your scheme -> edit scheme -> set build configuration to "Release"

Explanation:

The most voted answer sounds about right, but there are situations where you just don't need crashlytics in debug builds (who wants crashes sent when you just develop and experiment with your code?). In this case you should disable crashlytics by checking debug compilation flags (out of scope of this answer) and for the first time during installation build app for release to let crashlytics know that you built app.

Fyodor Volchyok
  • 5,610
  • 4
  • 28
  • 45
2

I had the same issue today. The problem was that i didn't have the run-script :

./Fabric.framework/run <api key>

in my project. Once i put this back in then it all worked perfectly. I also cleaned my project and deleted derived data just to be sure.

Swinny89
  • 7,273
  • 3
  • 32
  • 52
2

you must check that your deployment target version because of "Fabric's minimum iOS version is 6.0"

Taruna
  • 31
  • 5
2

I was only able to get the Fabric app to continue the installation process after setting my build target to 'Generic iOS Device' and creating an archive from the Product > Archive menu.

Simply building the app or running it on an emulator doesn't seem to trigger the Fabric App to proceed.

ZardozSpeaks
  • 151
  • 2
  • 7
  • setting the build target to "Generic iOS Device" and probably setting the **Debug Information Format** to **"DWARF with dSYM File"** actually solved the problem for me – skofgar May 17 '19 at 05:13
2

If you use Xcode 10.

Project Navigator -> your project -> Targets -> Build Phases -> your Run Script for Fabric -> Input Files -> "+" (add input file) -> clear field and past this line:

$(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH)

Be sure to remove this: $(SRCROOT)/

enter image description here

maxwell
  • 3,788
  • 6
  • 26
  • 40
1

In the Run Script build phase there is a call:

./Crashlytics.framework/run <your_api_key_here>

Maybe you added some conditions to trigger it only on certain builds like:

releaseConfig="Release"

if [ "$releaseConfig" = "${CONFIGURATION}" ]; then  
    echo "Running Crashlytics"
    ./Crashlytics.framework/run <your_api_key_here>
fi

so that it will not just trigger on ⌘B

See https://dev.twitter.com/crashlytics/ios/advanced-setup

Eddie G.
  • 2,344
  • 2
  • 17
  • 7
1

In my situation I was following all the steps correctly but got stuck on 'add build phase' step. Then I just restarted fabric and all works just fine

Also there are some other possible actions:

1) Just restart Fabric, Xcode and your Mac. 2) Also if you use Cocoapods change build phase line from

./Crashlytics.framework/run [yourAPIKey] 

to

"${PODS_ROOT}/Fabric/run" [yourAPIKey]

3) After building project if Fabric will stop responding just wait a while. It took about minute on my Mac.

Nikolay Shubenkov
  • 3,133
  • 1
  • 29
  • 31
  • Wow. I just spent an hour trying to debug this, and this was the reason why. – JRam13 Mar 25 '16 at 22:30
  • 1
    The bit about the Fabric app not responding, thought it had crashed but I just wasn't patient enough. – Ryan Apr 17 '16 at 23:52
1

Thanks, I solved the problem by removing folders:

~ / Library / Caches / com.crashlytics.data
~ / Library / Caches / com.crashlytics.mac
Raptor
  • 53,206
  • 45
  • 230
  • 366
Zahur
  • 181
  • 3
  • 10
0

Kindly cross verify that run script you adding is to your actual target if u will add to tests target it will not proceed until you add it to actual target

0

None of the solutions here worked for me. The scenario for me was someone else added the Fabric framework to our project and committed it to the repo. The run script on their computer launched/triggered the Fabric Plugin, but would not launch/trigger on mine, although it did not report errors.

The solution was to create a separate project, using Cocoapods download the same version of Fabric, replace the run script in our project/repo (and the one referenced in the target's run script) with the downloaded version from Cocoapods. Rebuild and then the plugin would respond.

Comparing the two run script files, they are drastically different, but the run script from Cocoapods was not a flat text file and it was unreadable. So I'm not sure what was different between the scripts, but we somehow got different versions of the script while using the same version of Fabric.

Matt W.
  • 956
  • 9
  • 21
0

What I did wrong was adding the script to the pods project build phase instead of the main project build phase, adding it to the main projects build phase solved the problem.

Menno
  • 1,232
  • 12
  • 23
0

If you are duplicating the target, remove the run script from build phase and add it again to solve the issue.

sahiljain
  • 2,215
  • 1
  • 29
  • 39
0

If you have multiple TARGETS,

check your Schema selection is correct before you build project.

lee cc
  • 1
  • 1
0

For Xcode 10. Add your app's built Info.plist location to the Build Phase's Input Files field:

$(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH)

This solved my issue i hope this can solve others issue.

Sudhanshu.B
  • 626
  • 9
  • 22
0

It turned out I had not enough permissions to create new project in Fabric. Upgrading from Member to Admin resolved the issue.

Stacy Smith
  • 490
  • 5
  • 11
0

In my case, removing an app from helped. 1) Remove the app from Fabric. 2) Follow all the steps again to add the app and install Crashlytics.

Vladimir Vlasov
  • 1,860
  • 3
  • 25
  • 38
0

Nothing helped me. Now Fabric catches my archive creation. But I create the archives via fastlane's build_app.

Eugene Babich
  • 1,271
  • 15
  • 25
0

Open Project in higher version of Xcode. This resolved my issue after waste many hours.

My Project build on Xcode 10.2 and I was running on Xcode 10.1 but when I run the same project on Xocode 11. The build was succeeded.

Parth
  • 634
  • 8
  • 15
0

Try to wrap your run script variable with double quotes ""

"${PODS_ROOT}/Fabric/run"
Abdelazeem Kuratem
  • 1,324
  • 13
  • 20
-1

Go to folder /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/<CURRENT_IOS_SDK>/usr/lib/ and delete all .dylib files.

It worked for me.