-->

Crashlytics in iOS won't proceed past “Build Y

2019-01-17 13:38发布

问题:

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.

回答1:

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.



回答2:

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"



回答3:

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.



回答4:

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.



回答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.



回答6:

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



回答7:

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.



回答8:

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



回答9:

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



回答10:

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.



回答11:

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



回答12:

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.



回答13:

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.



回答14:

Thanks, I solved the problem by removing folders: ~ / Library / Caches / com.crashlytics.data ~ / Library / Caches / com.crashlytics.mac



回答15:

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.



回答16:

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



回答17:

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.