I am having this problem with a brand new project. This problem happens with both RestKit and Facebook SDK. Strangely SwiftyJSON works just fine. I create a brand new swift
This should do the trick:
After hours of trying things, I discovered the cause. My main app target had 4 build configurations (debug, release, internal, external). However my frameworks (child projects) did NOT have internal, external as they are custom added. Once I added internal/external to my framework projects, all archived fine.
When I edited and removed a directory I didn't need in Project - Build Settings (next to Info), it was wiping out two of the entries in Framework Search Paths in my App Target in Build Settings. Make sure all the four rows have entries populated automatically from Pod install as shown in the image below: To copy the entries from Debug and Release to the rows below, select one row at a time and hit delete which should copy from the row above. Once I did that, the workspace would build just fine.
Idea log: First, I think this issue is because the library link or framework search path missing this pod, but actually it does over there.
Second, I think it may be because the version support on XCode 10 leading incorrect mapping the pod. But after clean project, delete derived data, close Xcode, remove pod relate file and re-pod install. All these steps still failed…. I spent 4hrs on this second step…
Third, Finally keeping searching the google in StackOverflow, I found this person @Tyler Sheaffer leave his experience under the @metatheoretic solution.
There is one person leave his experience under someone else answer. And it reminds me that I do change the configuration early day for multiple schemes, most importantly, because the tutorial I follow that it teaches us to name the configuration name with an example: Debug (Development ). But the Cocoapods cannot accept the (). Therefore, I modified the configuration name Debug_Development… So!!! The issue is the scheme management do automatically update the config name on one of my customer scheme such as Development, and I only check the name update on scheme Development, which it does success update, then I skip to check other two custom schemes (staging, production). But!!! Those two still remain the older wrong config name. That's why my Kingfisher module will never be found because It didn't match the config and scheme. Finally, I solve this problem by selecting the new update config file in the Project/Scheme/Manage Schemes/ Case closed.
Your xcode is not updated to the version expected by the library / framework
In my case, at first I had only one target in xcode. I executed pod install
.
A few months later, I had to make another target so I had multi targets.
In this situation, if I do pod install
and build xcode, I get a "no such module" error.
So I removed pod
files and then pod init
.
Podfile format has been changed for multiple targets
It works!!
Check this out!