63

I'd like to update the CocoaPods built into my app, so I ran pod install from the terminal.

That's when I got this error:

[!] The `APP_NAME [Debug]` target overrides the `FRAMEWORK_SEARCH_PATHS` build setting defined in `Pods/Target Support Files/Pods/Pods.debug.xcconfig'. This can lead to problems with the CocoaPods installation
- Use the `$(inherited)` flag, or
- Remove the build settings from the target.

How do you Use the $(inherited) flag?

6 Answers 6

126

Selected the Project, targets-> app, then Build Settings where I added the $(inherited) line, deleting whatever specific pod had been referenced there before:

enter image description here

Sign up to request clarification or add additional context in comments.

8 Comments

Thx. I had to remove the pod that was specified and had to replace it with $(inherited) you mentioned.
In my case, I need to add too $(PROJECT_DIR)
This answer was the end of a long, long search. Thank you for posting answer and comments.
Word of caution - I tried this solution, and though it did work for me, it created many other import issues that I had to resolve as well. It was not clear until I finished, whether or not I made things worse or better. Whoever reads this- stick with it and try to resolve the issues that this solution may make visible.
I want to point out that the "non-recursive" in the $(inherited) property is important. When set to "recursive" this TARGET OVERIDES error will not be solved. Tested on Xcode 10.3.
|
15

I was encountering this issue as well.

Aside from doing what Peter mentioned above, remember to double check if the correct Xcode project is selected in your podfile. This is because it is possible that you are changing the Build Settings of the incorrect Xcode project. It was a silly mistake, but it took quite some time before I realized it.

Normally, pod install works automatically if there is only one .xcodeproj file in the directory. However, if you are migrating your project to begin using cocoapods from the old way of manually adding frameworks/3rd party projects to your Xcode project, it is possible that you will have multiple .xcodeproj files in your folder. Doing the abovementioned fix didn't solve it for me, because I was editing the incorrect .xcodeproj file.

Go to your project directory, check the file named Podfile and make sure you specify the xcodeproj:

# Uncomment this line to define a global platform for your project
# platform :ios, '8.0'
# Uncomment this line if you're using Swift

use_frameworks!
xcodeproj 'APP_NAME.xcodeproj'
target 'APP_NAME' do

# Your dependencies here
# pod 'NAME_OF_DEPENDENCY'
pod 'Google/CloudMessaging'
pod 'RxSwift',    '~> 2.0'
pod 'RxCocoa',    '~> 2.0'
pod 'RxBlocking', '~> 2.0'
pod 'Fabric'
pod 'Crashlytics'
pod 'FBSDKCoreKit'
pod 'FBSDKLoginKit'
pod 'FBSDKShareKit'

After selecting the correct .xcodeproj on your Podfile, go to Xcode and do the following:

  1. From the Project Navigator on the left side, select your project.
  2. On the center screen, go to Build Settings
  3. Add a filter for 'Framework Search Paths'
  4. Enter $(inherited) as the value; it should auto-fill with data evaluating that expression

Below is an image of Xcode with Version 7.2 (7C68).

Xcode preview

1 Comment

Just a note: CocoaPods 1.3.1 gives a deprecation warning: "xcodeproj was renamed to project. Please update your Podfile accordingly."
0

I had a $(inherited) but recursive, just change it to non-recursive

project target -> build settings -> framework_search_path

enter image description here

Comments

0

I had this same problem (error build: Framework not found Pods_xxx) when updating cordova-onesignal from v2 to 3.3.0 on an old Ionic 3 project.

This solved it for me:

In Xcode, navigate Project + Target + General + Scroll down to Frameworks, Libraries, and Embedded Content

In the list I simply deleted (minus sign at bottom of list) the related file Pods_xxx.framework (it was a little grayed out)

After rebuild everything worked (incl OneSignal)

If I do pod install it comes back and I have to do it all over again.

Comments

0

It helps for me as well! But when I run pod install library search paths overwrites. So I made a hook for podfile, maybe it will help someone

project_path = './yourProject.xcodeproj' 
project = Xcodeproj::Project.open(project_path)

project.targets.each do |target|
  if target.name == 'yourProjectTarget' 
    target.build_configurations.each do |config|
      config.build_settings['LIBRARY_SEARCH_PATHS'] = ['$(inherited)']
    end
  end
end

project.save

This hook overwrites LIBRARY_SEARCH_PATHS to $(inherited) for you each time you run pod install. Place it inside post_install Podfile block

Comments

0

Simple Running pod install in /ios folder in flutter project solved my issue

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.