Pod Error in Xcode "Id: framework not found Pods"
Solution 1
This has fixed it for me:
- Open up the workspace.
- Click on the blue project icon (that expands into your file tree) on the left hand side of the screen
- Just to the right, select "Targets" (as opposed to "Project"--Project is blue, Target is like a pencil and a ruler and a paintbrush making a triangle)
- Click on the General tab
- Go to the "Linked Frameworks and Libraries" section (all the way at the bottom)
- Delete the Pods frameworks
- Add Alamofire and SwiftyJSON
In my case, it didn't work unless I removed the pods frameworks, but I get the feeling that this is a workaround. Perhaps someone with more experience can comment.
Solution 2
Sometimes after renaming a target or moving something, you can corrupt your pods installation. Luckily, there's an easier way to fix it than sudo make install
's solution.
- Run
pod deintegrate
to remove any trace of Cocoapods from your project. - Run
pod install
again to add it all back.
That's it, fixed.
Solution 3
My issues is when i ran test i got this error. Because i just install it in my
target 'Project' do
pod 'xxx'
end
You should also add it into your test target:
target 'ProjectTests' do
pod 'xxx'
end
Solution 4
One possible cause in an explicit import of a Cocoapods framework into a test class / into the test target.
Example:
import XCTest
//import AlamofireImage
@testable import MyProject
// instead of importing AlamofireImage:
#if os(iOS) || os(tvOS) || os(watchOS)
import UIKit
public typealias Image = UIImage
#elseif os(macOS)
import Cocoa
public typealias Image = NSImage
#endif
I first imported AlamofireImage
because I explicitly used typealias Image
in my test as defined in AlamofireImage
.
If it is as easy to prevent an import as in my example, do it. I just copied the definition of Image into my test class file.
If you think you really need that import, go on with the answer of William Hu. A footnote to his answer:
target 'MyProjectTests' do
pod 'OnlyThatFrameworkYouImportIntoYourTest'
end
You need to add only those pods to your test target, that you (need to) import explicitly.
Solution 5
In my case, I had several frameworks listed in red. These were left over from previous Podfile configurations. I simply removed these frameworks listed in red and the problem was fixed.
Admin
Updated on July 16, 2022Comments
-
Admin almost 2 years
I am trying to clone a project from a bitbucket repository and am getting an error
Id: framework not found Pods clang: error: linker command failed with exit code 1 (use -v to see invocation)
when trying to run an Xcode project in workspace. These are the steps I have followed, if anyone could let me know what I am doing wrong, that would be great!git clone (link to bitbucket)
- changed the configuration settings in the Xcode pods project to
none
for both debug and release - performed
pod install
- opened Xcode workspace file
- tried to build in Xcode and received the error
Id: framework not found Pods clang: error: linker command failed with exit code 1 (use -v to see invocation)
Edit Here is the podfile:
# Uncomment this line to define a global platform for your project platform :ios, '8.0' use_frameworks! source 'https://github.com/CocoaPods/Specs.git' target 'Oncarb' do pod 'Alamofire' pod 'SwiftyJSON', '~> 2.2.0' end #target 'OncarbTests' do # pod 'Alamofire' # pod 'SwiftlyJSON', '~> 2.2.0' #end
Is there a step I am missing?
Thank you!
-
Bat Lanyard over 8 yearsWorked for me as well after deleting Pods frameworks, closing Xcode, running pod update, then Clean/Build.
-
Decoded about 8 yearsThere are so many other wrong answers to this >.> Thanks for breaking down the steps!
-
DTHENG about 8 yearsRemoving "Pod.framework" from "Embedded Binaries" worked for me
-
ArdenDev over 7 yearsThanks for the solution. This happened to me after I upgraded cocoa pods to 1.0
-
jscs almost 7 yearsThe test target can also be nested inside the other target, and will then inherit all those pods.
-
richy almost 7 yearsThis also worked when having issues with the Firebase pod and needing to use
inherit! :complete
in my test target -
nommer almost 6 yearsworked for me too after renaming my project, having to edit Podfile and changing my project name there too, and then adding Firebase and Crashlytics pod
-
yasirmturk over 5 yearsanother solution could be;
$ pod deintegrate && rm Podfile.lock && pod install