It's time to swallow my pride and give this up after over a week of debugging. To preface, before someone marks this question as a duplicate, I realize that this is a common question on SO. However, I've read practically every similar question and seemingly tried variations on every given answer all to no avail. While this question may look daunting, it's really not. I've simply chosen to provide a fully exhaustive list of things that may or may not be relevant in the spirit of being thorough.
Here is the root of my problem:
No such module 'ParseUI'
The discrepancy is that as far as I understand the framework (and all "no such module" frameworks) does exist in some capacity, as shown below when I build the project and it goes through the compiling stages:
For context, this is not an error that is specific to ParseUI
in file LocalPost.swift
(error screenshot above) by any means. If I comment out that import
statement in that file, it just throws the error the next place it finds an import
for any framework installed via Cocoapods. It only throws this one error because it's the first import
statement found in the first line of said file within the "compile sources" section of my target's build phases as shown below:
app target's build phase order
That being said, I will focus on the missing ParseUI
module for simplicity's sake.
TRIED & FAILED SOLUTION ATTEMPT - Rearranging the build phase order
Now I'll show where this framework seems to exists along with the steps I took:
First off, these frameworks are installed through cocoapods. Here is my Podfile
:
After running pod install
, everything goes smooth. ParseUI
is located in the following places within my project:
Within the project's "Frameworks" directory (full path shown on right)
*TRIED & FAILED SOLUTION ATTEMPT - Changing the location dropdown to every other option
Next, I'll show some build settings that I feel are relevant starting with the framework search paths. Since none of the changes I made for this setting seemed to make any difference (as you'll see below) they are currently blank:
Project framework search paths
*TRIED & FAILED SOLUTION ATTEMPT - Changing the framework search paths for both the project and target's build settings including the following:
$(inherited)
(recursive and non-recursive)$(PROJECT_DIR)
(recursive and non-recursive)$(PROJECT_DIR)/Frameworks
(recursive and non-recursive)$(SRCROOT)
(recursive and non-recursive)$(SRCROOT)/Frameworks
(recursive and non-recursive)- combinations of the above
Now for configurations within the Pods
project. Here is where the framework lies within the Pods
directory:
The framework target's path (full path shown on right)
The pod's "Product" directory in the navigator
Finally here is the Pod
's project search paths build setting:
Project level framework search paths
That concludes all of the relevant UI for me to show. A couple other things I should note:
- Yes, I'm using
MyProject.xcworkspace
- I could clean/clear derived data/restart my project with my eyes closed from the number of times I've tried those steps.
- I've even removed Pods entirely and reinstalled it via cocoapods on a clean slate
The versions I am using are:
- Cocoapods v1.0.1
- Xcode v7.3.1
- Swift v2.2
- Ruby v2.3.1 (if that's Cocoapod-relevant?)
If you've gotten this far, thank you for even taking the time to follow along. If you have a suggestion for any step I should take, even better. I am at my wits end. I'll amend this question with any request information if need be.
Make sure your Pods subproject has "Build Active Architecture Only" set to NO.
来源:https://stackoverflow.com/questions/39048078/cocoapods-no-such-module-module-for-any-modules