Xcode 7.1 : 'Parse/Parse.h' file not found - ios

I am building an app with Parse as the backend and with Xcode 7.1. I am NOT using cocoa pods. My app was building on the device just fine, however when I try to run it on the simulator I get
'Parse/Parse.h' file not found
I have included Parse.framework in my project folder and my framework search path is
$(inherited) $(PROJECT_DIR)
Why is this error occurring only for the simulator and how do I go about solving it?
UPDATE: SOLVED
My project is now running on the simulator. I changed my framework search path to
$(inherited) $(PROJECT_DIR)/projectname
Then in my build phases I actually had a duplicate MessageUI.framework.
So I deleted both, re-added one, and then made sure there was no duplicates in my 'Frameworks' project folder.
After removing duplicates my project ran!

What about trying out Cocoapods?
Simple as pod "Parse" and everything should be working.
If you have an aversion to Cocoapods for some reason check to make sure that the frameworks are weakly linked.
Another SO question that may help

Related

"No such module" error when archiving

My Swift 4 app rebuilds and runs successfully on all simulators except for Generic iOS Device. If I try to archive it or do a rebuild on Generic iOS Device, I get a No such module error relating to one of my pod frameworks.
I tried adding the framework to Linked Frameworks and Libraries, and that removed the error, but then it fails on the next pod framework, and so on. I have tried all sorts of paths in Framework Search Paths with no luck.
Currently, the value is set to:
I even tried deleting the workspace, the pod lock file, and the pods folder, and then I did a pod install to rebuild everything. Again, it rebuilds clean on any simulator except the generic one. On the generic one, I get No such module on all import statements for pod frameworks.
Any suggestions appreciated, as this problem has me completely stalled, since I can't get a release out.
For me what fixed it was removing one line from my Podfile and rerun pod install.
platform :ios, '11.0'
I think the version of the pods was not aligned with the version of my target, causing this issue.
I was able to fix the problem editing the ios version line in the Podfile to match the Project target version (10.0 in this case) in Info.
#Podfile
platform :ios, '10.0'
Finally I had to run
pod update
After that, I was able to Archive my project selecting Generic iOS Device
In my case I had selected a Device on Xcode when archiving, choosing Generic iOS Device solved my problem.
It's better to check the project settings by going to Build Settings, find Framework Search Paths and add $(SRCROOT) and be sure it's recursive.
I kept facing the issue "No such module" while archiving the app.
I tried this approved answer and it worked perfectly but, a new warning was appearing in my Podifle.
So I did the below and it worked without any warning.
Podfile :
XCode -> Targets -> My App -> General :
switched iOS from 10.0 to 11.0 and then everything worked perfectly.
Seems like by opening up the project by double clicking Runner.xcworkspace instead of Runner.xcodeproj, xcode can finally figure out where everything is. Even though you can still debug in an emulator and on a connected phone from the .xcodeproj file...
Seems strange that it would fix it. But I'm happy to have an Archived build now.
Check out this link for more info
There is another case similar to the same error. when you have an Embedded Framework project with min iOS 10 (Any iOS Device arm64, arm7) while I am archiving the build of the project with min deployment version iOS 11(Any iOS Device amr64) in Xcode 12.5.1.
I have to change the min deployment version of the Embedded Framework project to iOS 11(Any iOS Device amr64) to match with my project's deployment version.
first build your project command + b and see if the frameworks are in red when you look at then at the right sidebar, if they are, xcode did not find your files on the specified path, if not, building and then archiving should work
I was able to get it to archive by re-creating the project from scratch. I created a new project, used the same pod file to install the pod libraries, then copied everything over from the other project. I am now able to archive it and push it to the store. Must have been some corruption or a rogue setting.
In my case, the module which couldn't be found was a dynamic Obj-C framework with a minimum deployment target higher than my application project's minimum deployment target. Bumping my minimum version fixed it, but you could drop the version on the framework instead.

Error: No such file or directory while archiving iOS and WatchOS App

i have a problem which puzzles me a few days now and i cannot find a solution.
What i want to do is archiving an iOS app including a watchOS app in Xcode.
The normal debug build (of both iOS App and WatchOS App) works fine on real devices and simulators (note: CocoaPods included). But when i try to archive the project the following error occurs:
error:
/Users/username/Library/Developer/Xcode/DerivedData/Build/Intermediates/ArchiveIntermediates/AppName/BuildProductsPath/Release-watchos/AppNameWatch.app:
No such file or directory
I tried to clean up everything, delete the DerivedData folder, restart Xcode, delete the App from the devices, restart the Mac... but nothing solves the problem. I also tried to archive without CocoaPods integration (I removed CocoaPods from my Project completely). I also played around with the target build phases (removing the embedded watch content).
Maybe somebody has an idea...
Thanks
Steffen
I managed to solve this error, marked as PBCXCp Error, by correcting my Target Dependencies from Project->Build Phases. Here is how the Target Dependencies should look:
iOS app target
Watch app target
Watch extension target
I've accidentally added my iOS app as a target dependency to my watch extension target and that generated the error.
Hope it helps, cheers.

FBDSKCoreKit error: "Include of non-modular header inside framework module"

EDIT: For more info on this particular bug, follow up with the Facebook Team here.
I have researched this intensely and have failed to find a solution. Never ran into this issue and now I can't seem to get passed this one.
Here is the error I am receiving:
Switch to Project: Pods, Target: ParseFacebookUtilsV4 and change that value there Allow Non-modular Includes in Framework Modules = YES
It seams by Downgrading to Xcode 7.2.1 allows me to compile without any errors. Seems to be an issue with FBSDKCoreKit and Xcode 7.3.
Fix: Downgrade to Xcode 7.2.1, clean and build.
In my project, I found that allowing non-modular frameworks was not the fix. I had some problems too after upgrading to 7.3, but it's working now. Make sure you are using the latest frameworks...if you are, delete all FBSDK frameworks, re-download the Facebook SDK, and add FBSDK OREKIT, FBSDKLoginKit (if needed), and FBSDKShareKit (if needed) ** Make sure to check the copy items if needed box **. Clean the project and build it. If using CoccoaPods, I would make sure the frameworks are updated to the latest version. Hope this helps!

Xcode 5.1 Building Wrong TestFlight SDK

Since the latest Xcode 5.1 and adding TestFlight 3.0 to my project, Xcode keeps building the project with the old 2.02 version of TestFlight.
Clean builds don't seem to help. Where else could it be picking this up from ?
I had this issue with a stale search path reference hanging around (ie deleting the folder from the project did not remove the LIBRARY_SEARCH_PATHS entry). So there were two ways to find libTestFlight.a and it was using the first, wrong, one. Search for LIBRARY_SEARCH_PATHS in your Build Settings, and if there's an unwanted old entry still there, get rid of it!

iOS Development: problematic framework search path

I have an iOS app and I want to test it on simulator. When I run the project xcode complains that my framework file is "missing required architecture i386 in file".
I did a bit of search on line and it says that's because xcode used the framework files intended for actual device when building the project for simulator. Solution is to add the simulator framework folder under the framework search path in build settings.
Okay now the problem is, doing that solves the problem of building project on simulator, but later when I want to build the project on an actual device, xcode starts complaining again saying there are redefinitions of some of the openGL typedef in the framework. To fix this I have to remove the search path item that I added.
So is there an easy way to avoid having this kind of problem? I don't want to switch the search path over and over again when I want to build the project on different platform.
If you upgrade a project from 4.2 to 4.3.2 style it often loses the architectures required for the target you are building for. Usually you just have to add them back or change the target SDK.

Resources