ld: framework not found Crashlytics
Asked Answered
I

9

17

After a pull I suddenly get the following error in xcode:

ld: framework not found Crashlytics

However my team mate has no problem. He updated Crashlytics and pushed his changes on SourceTree as it runs fine on his computer. Even if I totally remove the project and do a git clone, it still doens't work.

Impulse answered 18/8, 2015 at 9:5 Comment(0)
I
25

The problem is caused by a bug in SourceTree that doesn't detect type changes in binary files. When your team mate updated Crashlytics and Fabric, source tree didn't recognise a few of the binary symlink changes it made. Solution is to do the following:

  • Go to his terminal
  • Navigate to his project folder (cd ~/folder/to/project)
  • Add the missing files (git add --all)
  • Commit his changes from there (git commit -a -m "My informational commit message")
  • Push his changes (git push origin branch_name)
  • And then finally on your computer do a pull (git pull origin branch_name)
Impulse answered 18/8, 2015 at 9:5 Comment(4)
I am using cocoapods. I tried deleting Pods directory and installing pods again. This did not make any effect. After reading your answer I acted slightly differently. I deleted the Pods directory, commited that, installed pods and commited again. Worked!Arm
Imho, SourceTree (and other graphical tools) helps users build better commits by providing tools to easily extract related code changes, as opposed to "git add --all"-commiters making "Fixed stuff" commits.Ingeborgingelbert
Alternatively, use cocoapods to install and not commit the framework to repos.Wheedle
Remember to tell him as well that this is a good reason to finally stop using SourceTree and be a real man by using the terminal instead :D 1+ for this line :DKremenchug
Z
21

please add $(inherited) in FRAMEWORK_SEARCH_PATHS build settings this worked for me.

Zapateado answered 1/8, 2016 at 14:8 Comment(3)
I had that problem using React Native, it fixed itSuction
This as well fixed for me for React Native 0.56Marginalia
Fixes [email protected] as well.Sepsis
I
16

Check your TARGET - Build Settings - Other Linker Flags

If you just updated to pod 'Firebase/Crashlytics' and there is Crashlytics exists, make it FirebaseCrashlytics.

And also check there is Fabric, If exists that remove it. (Remove next line framework which is under Fabric line too)

It should build successfully now.

Intermission answered 28/4, 2020 at 0:4 Comment(1)
This was very helpful! Thank you!Agnosticism
I
3

Check your TARGET - Build Settings - Other Linker Flags

If you just updated to pod 'Firebase/Crashlytics' and there is Crashlytics exists, make it FirebaseCrashlytics.

Similarly if you will see in the terminal, pod which is removed please remove from Other Linker Flags also Example: Fabric, FirebaseInstanceID. (Remove next line framework which is under Fabric, FirebaseInstanceID line too)

It should build successfully now.

Inclined answered 28/9, 2020 at 11:47 Comment(0)
I
1

In case you do not have access to the original repo (in order to check in the missing files), re-adding the framework using Fabric´s helper-tool also works as a "repair" for the build.

Ingeborgingelbert answered 14/1, 2016 at 17:47 Comment(0)
B
1

add $(inherited) in Framework Search Paths in Target Build Settings. Issue gets fixed.

Brine answered 28/6, 2017 at 3:6 Comment(0)
D
0

This solution worked for me

  • Just keep Firebase/Crashlytics and remove Crashlytics and Fabric from the pod file
  • Use a Physical device
Derril answered 12/9, 2023 at 3:53 Comment(0)
F
-1

Try 'pod install' before running

Fecal answered 15/6, 2023 at 8:56 Comment(0)
P
-2

just find in Project .ld file and remove it From Project and then Debug,

its working perfectly.

after removing all your functionality stay as it is. its not depended on that .ld file.

  • so , solution for that one is to remove it.
Parquet answered 18/8, 2015 at 9:8 Comment(1)
try ones. i have found this error in my code also. and its gone after remove that file from ProjectParquet

© 2022 - 2025 — McMap. All rights reserved.