问题
I'm trying to add a framework to my IOS project but when I build I always got the same message :
ld: framework not found Pods
clang: error: linker command failed with exit code 1 (use -v to see invocation)
I tried to remove my Pods
directory and then run pod install
I open the .xcworkspace
like it is written in the logs on the pod install, I clean the project on xcode and then try to build but it won't works..
My podfile looks like this :
xcodeproj '/Users/guillaume/project/Mobile/iOS/FoodPin/FoodPin.xcodeproj'
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
use_frameworks!
pod 'SwiftHTTP', '~> 0.9.2'
My version of xcode is 6.3.1
Thank you,
回答1:
In Project Navigator
in the folder Pods
I had a Pods.framework
in there which was red. It was also present in Linked Frameworks and Libraries
. I removed both references and the error disappeared.
TL;DR
Remove Pods.framework
in:
- Folder named
Pods
Linked Frameworks and Libraries
回答2:
This is usually caused by having the .xcodeproj file open instead of .xcworkspace.
When you run 'pod install' for the first time, it will create an .xcworkspace file, which includes your original .xcodeproj and a Pods project. You'll need to close your .xcodeproj and open the .xcworkspace instead.
This is a common issue when creating a project through Xcode's new project wizard - I often forget that I'm not in a workspace, which is required to get Cocoapods to link correctly.
回答3:
Xcode 9, 10, 11
install https://github.com/CocoaPods/cocoapods-deintegrate
pod deintegrate
then
pod install
回答4:
I cleared this error by deleting the red .framework
files that were located in a folder Frameworks
in the project navigator
. I think this also automatically deleted corresponding red entries in the Linked Frameworks and Libraries
section of the General
settings.
I have been cleaning / reinstalling pods in order to fix another issue. Perhaps these red framework files and entries were just leftover from a previous pod install?
回答5:
For who find this issue. I am using NativeScript and got the same error.
That happen becouse I opened the file .xcodeproj, but we must open the project by the file .xcworkspace.
回答6:
This happened to me after updating my Podfile and doing a pod update.
For some reason, I had a "Pods_[ProjectName]".framework file appear under my project under 'Targets' > General > Linked Frameworks and Libraries.
Deleting this and then clean/rebuilding fixed the issue.
回答7:
I had a similar issue as
framework not found Pods_OneSignalNotificationServiceExtension
It was resolved by removing the following. Go to target OneSignalNotificationServiceExtension > Build Phases > Link Binary with Libraries and deleting Pods_OneSignalNotificationServiceExtension.framework Hope this helps. Cheers.
回答8:
I was getting this error because i renamed my project and change the name of project in pod file too but my project was referring to old name which was not there and causing this error . I get rid of this by
pod deintegrate
followed by
pod install
回答9:
you should delete your project some file as this picture.
回答10:
Just Remove your .framework from the list of "Your Project->General->Linked Framework & Libraries".
回答11:
In my case I can build it on devices and simulator but has the same errors when archiving. To solve it, I have to
- remove
Pods.framework
- make sure
Pods-<project-name>.framework
is embedded
You will find the settings in TARGETS-->Linked Frameworks and Libraries.
回答12:
You're more than likely trying to get the pods to work into you project right? The only way to do so is by creating a separate project that uses CocoaPods.
Close all work-spaces that you are using.
Next, make sure you have your Podfile completely ready to go.
In the command line, wherever your file is, type the command:
pod deintegrate
Then, install your pod agian.
pod install or pod update
Now you can use your project's new workspace to develop from. Look for a file called .workspace. Use that file!
Here is a guide on using CocoaPods
回答13:
It's happened to me because I changed the target deployment in General
but forgot to change the target deployment in Pods > General
.
回答14:
Step 1
The first thing that you will need to do is remove the Podfile, Podfile.lock, the Pods folder, and the generated workspace.
Step 2
Next, in the .xcodeproj, remove the references to the Pods.xcconfig files and the libPods.a file.
Step 3
Within the Build Phases project tab, delete the Check Pods Manifest.lock section (open),Copy Pods Resources section (bottom) and Embed Pod Resources(bottom).
Step4
Remove Pods.framework.
The only thing you may want to do is include some of the libraries that you were using before. You can do this by simply draging whatever folders where in the pods folders into your project (I prefer to put them into my Supporting Files folder).
It worked for me.
回答15:
Using Xcode 8.3 the accepted answer didn't work for me. I had tried many other solutions but @Elliott Davies answer is what fixed it for me. I'm adding a screenshot for clarity. For some reason, Xcode was trying to link previous podfile setups that no longer existed. All I had to do was delete the extra references and everything worked.
回答16:
This issue was driving me crazy as it suddenly happened without doing any changes to the project. I've tried all suggested solutions in this thread (and other related) and none of them solved the problem.
The only thing that differed from my other projects (which compiled fine), was that this project name was containing an accent (a french accent, "é"). I've renamed the project and all related files, and it finally worked !
Maybe this is related to updating to Xcode 10, because this project was working well before...
EDIT : it also seems to failed when using a project with -
in project name…
回答17:
In my case, after comparing the difference between a branch I knew built correctly, I noticed this line in my Podfile:
platform :ios, '11.0'
I had inadvertently up'd my target version from 10 to 11 while my targets in Xcode remained set to 10. Reverting back to 10 solved my issue for me.
Ensure your target iOS versions are properly set.
回答18:
This is the way i fix my problem. and it now work when i writing this answer:
Firstly, i try all the most fix way above,
remove Pods_xxx.framework from the link libraries and framework in target's build phases is helpful, and the issue will disappear, but the coming problem is i can't import the Pods.framework anymore.
And Then, i try to reinit the xcworkspace config, so that i can figure out the real problem. so i run
pod deintergate
and then install my pod again:
pod install
this work prefectly, but the problem is still in there, but i figure out the real problem is the Pods_xxx.framworks not be compiled succeed by cocoapods build script. I think this is the true way to fix the problem.
Finally, i try to edit my project's scheme:
and i add Pods scheme into manage:
and build this Pods.framework separately, and you will find the Pods.framework icon become truly again:
and i think now you have fix your "framework not found Pods_xxxx.framework" problem but actually i have another problem coming:
so i go to the build setting, and edit the "Framework Search Path"
with "${inherited}"
,
and now all the problems goes out, cheer!!!!:)
回答19:
I resolved this issue by selecting the project which downloaded from CocoaPods
and built it, you can click Manage Schemes so that it can be appeared in Run bar. Then you can rebuild your project. Hope it help.
回答20:
After removing and updating pod I still had same issue.
I've found that previous developer put flag in 'Build Settings -> Other Linker Flags' with Framework name (in my case -framework 'OGVKit') that made the issue.
After deleting that flag, project builds properly.
回答21:
In my case, there was a reference to the library I removed on
Targets > Build Settings > Runpath Search Paths
Removing the library from Podfile and updating it obviously didn't remove it, so I had to do it manually and now everything works.
回答22:
If you opened .xcworkspace file and you still got the same error:
delete all the contents of Pods directory and from command line write "pod install" to resolve the issue.
回答23:
Delete the frameworks folder created after pod install or update
回答24:
I did experience this problem because I did not set the platform
correctly.
So in my macOS app I had the platform set to:
platform :ios
instead of
platform :osx
回答25:
Other thing that solved my problem is to go under Target -> Build Settings -> Other linker Flags and delete the "-framework" and your framework "name".
It happened when i tried to remove a pod.
回答26:
I resolved this by dragging .framework
file to the Linked Framework and Libraries
Let say I was having this problem due to error FIRAnalyticsConnector not found
and I just drag FIRAnalyticsConnector.framwork
file to Linked Framework and Libraries and my problem solved
回答27:
I tried every answer on here and none of them worked. I ended up getting it working by upping the deployment target from 10.0 to 11.0. I have no idea why that fixed it, but I suspect it has to do with upgrading to Xcode 10.2.1.
回答28:
Please check your Executable file inside .Framework like
The executable file name should like this without any extension.
Some frameworks showing like this
Using Terminal goto .framework directory use below command lipo -create FrameworkName-x86_64 FrameworkName-armv7 FrameworkName-armv7s FrameworkName-i386 FrameworkName-arm64 -output FrameworkName
after creating single executable file delete this files
回答29:
For me, the problem was about changing the deployment target. I changed it to 9.0+ but changing it to 11.0+ worked.
回答30:
another great things is using this rule to disable the input & output paths of the CocoaPods script phases (Copy Frameworks & Copy Resources):
install! 'cocoapods',
:disable_input_output_paths => true
来源:https://stackoverflow.com/questions/29865899/ld-framework-not-found-pods