I am trying to test a sample iOS application which runs with no problems on the simulator, while building fails on a real iOS device, with the following error:
"UIKit/UIKit.h not found". The file that generates the error is "TestRealDevice-Prefix.pch"
//
// Prefix header for all source files of the 'TestRealDevice' target in the 'TestRealDevice' project
//
#import <Availability.h>
#ifndef __IPHONE_4_0
#warning "This project uses features only available in iOS SDK 4.0 and later."
#endif
#ifdef __OBJC__
#import <UIKit/UIKit.h>
#import <Foundation/Foundation.h>
#endif
The UIKit.framework, Foundation.framework and CoreGraphics.framework have red color in the "Build Phases" tab!
I tried to run a sample project without modifying any thing in it, but i have the same error
Thanks.
Remove UIKit, Foundation and CoreGraphics frameworks from the Build Phases tab and add them again.
Make sure you aren't building the app for OSX instead of iOS. This can happen or a variety of reasons including updating XCode. XCode seems to default to OSX if it gets confused.
I reinstalled x-code and it works fine after that!
Here's what I did that caused this error. And the solution is at: How to add deleted frameworks again
If you haven't emptied the trash yet, close Xcode and open the Trash in Finder. Find the framework folder you accidentally deleted. In Finder, open another window for Macintosh HD\System\Library\Frameworks, and drag-copy the framework from the Trash to the Frameworks folder. Reopen Xcode and you should be able to add the framework again in the target settings.
May be in Build Settings -> Valid Architecture there are arm64. So just remove the architecture arm64 and problem solved.
Related
Am developing react native project with Expo 32 SDK. Now am integrating deep link in my project. In Android its works fine but in IOS. while I try to run my project in xcode it returns this error. I tried to add ROOT path in Header Search path and tried manually link, Deleted my DerivedData etc but no use I don't know how to fix it.
Xcode version 11.3.1, "native-base":"2.4.2" , "React":"16.13.1"
I tried to updated latest version of React.
Did you add the following import in the file 'AppDelegate.m'
#import <React/RCTLinkingManager.h>
above the line
#ifdef FB_SONARKIT_ENABLED
as suggested here as a solution?
I am trying to add the Facebook SDK to my iOS 9.0 Swift app in Xcode. I did the install according to the FB-dev instructions. However, when I add the header to my AppDelegate.m file import FBSDKCoreKit I keep getting a message saying "No such module 'FBSDKCoreKit'" error .
Based on what I read elsewhere
I have already cleaned the build and re-installed Xcode and updated
my OS X
I have double checked the plist and the framework files FB lists in
the instructions, but nothing has seemed missing.
I have set the "Allow Non-modular Includes in Framework modules"
setting to YES in Build settings.
Nothing seems to work. I do not know where to go from here and have done hours of research trying to find the solution.
When you are importing the frameworks, Make sure you have selected "Copy if needed" . Version after Xcode 6.3 seem to be giving issues if this part is NOT ticked.
I solved this by deleting the Framework and adding it again by right click on the project->Add files..., then choose the framework and SELECT the option to Copy files if needed. It's not what Facebook recommends, but it worked!
I'm using v4.6 of FBSDK and Xcode 7 beta 6.
Hope it helps you and everyone else who's facing the same problem :)
With CocoaPods, swift 2.1, and iOS 9, I tried adding it to the bridge header and it works fine, for example:
#ifndef MY_Bridge_Header_h
#define MY_Bridge_Header_h
#import <FBSDKCoreKit/FBSDKCoreKit.h>
#import <FBSDKLoginKit/FBSDKLoginKit.h>
// ... other imports
#endif /* MY_Bridge_Header_h */
I had errors following alongside the AppCoda tutorial which is not fully up to date. I recommend following Facebooks own instructions. The issue for me was that I had to add the frameworks to my project and then add sdk search path. After that I could import without an error.
I follow all the steps in This Tutorial and/or Facebook SDK Documentation to install Facebook Login on my App, but when I run the code I get an error. although Facebook mention I can just use import (Swift) to include the framework, I try to do it the old fashion as well with Objective-C Bridge Header.
Error:
'FBSDKLoginKit/FBSDKLoginKit.h' file not found
ScreenshotAs you can see the bridge.h is being read by the compiler, but due to internal file error it will throw error.
Bridge.h In Xcode 6 you don't require bridge header file, I could just do it with import
#import <FBSDKLoginKit/FBSDKLoginKit.h>
This problem is due to Xcode 7 Beta, I have tried to do it on Xcode 6 and it worked perfectly with just an import FBSDKLoginKit. Can anyone tell me a hack around this? or if there is a way to convert my Swift 2 code back to 1.4 and work on Xcode 6.
I had the same problem.
Managed to sort the directory by adding the Facebook SDK in "Framework Search Path".
Target -> Build Settings -> Framework Search Paths -> + /Users//Documents/FacebookSDK
it works!
=]
For those using cocoapods the solution for me was actually adding FBSDKCoreKit to podfile:
pod 'FBSDKCoreKit'
pod 'FBSDKLoginKit'
The facebook documentation is incomplete, they dont mention anything about including FBSDKCoreKit pod reference.
For [login,sharekit,corekit].h file not found error , My solution was:
changing framework searchpath of RCTFBSDK (inside library of the project)
~/Documents/FacebookSDK
to
$(HOME)/Documents/FacebookSDK
I have the same issue and recognized, that my old XCode 6 projects worked with the Facebook frameworks.
So i try the following workaround and that fixed the problem. however i don't know why:
Facebook iOS SDK 4.2
Create a fresh project in XCode 6
Link the Facebook Frameworks to your project as described in the docs
Close the project and reopen it in XCode 7
The "To Swift 2 Converter" should open within the project - Convert the project to Swift 2
Run the project - in my case everything works fine.
After that i copied my "old" Swift 2 Files into the new project. The app starts without any issues.
I observed the changes by the converter, but can't recognized any change depending the Facebook frameworks.
Had the same issue, instead of updating the search path
I solved it by removing the Frameworks from the project and then adding them checking the Copy items if needed box
My header files looks this
#import <FBSDKCoreKit/FBSDKCoreKit.h>
#import <FBSDKLoginKit/FBSDKLoginKit.h>
You can simply put ~/Documents/FacebookSDK in Framework Search Paths and it will work for any user
this is a known bug: https://developers.facebook.com/bugs/362995353893156/
Check out this solution: Facebook iOS8 SDK build module error for FBSDKCoreKit
I have installed Google Analytics and Google AdMob SDK in my iOS project using Cocoapods. I have implemented both the functionalities in my app and everything looked okay for a week. Then suddenly, when I compiled the app, I received this error message:
"GADBannerView.h file not found". in "#import GADBannerView.h"
But I was able to see the header GADBannerView.h in my project under Pods target.
I did some research and found this error can happen due to SEARCH PATH in BUILD SETTINGS. Many faced similar issues when they moved the project from one machine to another machine but I didn't do that. So, instead of investigating on SEARCH PATH, I removed my GADBanner implementation from my project and commented line #import GADBannerView.h and my project compiled successfully.
I don't quite understand why the Google Analytics SDK is getting compiled successfully while AdMob is throwing a compilation error. I even did a pod update and still received the same error.
The SEARCH PATHS in my target is $(inherited) and ALWAYS SEARCH USER PATH is set to No
Starting at AdMob 7.0, AdMob has made the SDK a framework. Import it like so:
#import <GoogleMobileAds/GoogleMobileAds.h>
Go to: --> Build Settings --> Apple LLVM 7.1 - Language - Modules --> Enable Modules (C and Objective-C) --> set it to Yes.
According to the Google Ads Developer Blog we need to use:
#import GoogleMobileAds;
If you have a problem with the #import syntax you need to modify your project build settings. Search for Modules and set Enable Modules to YES.
First one is issue of latest SDK will not be used for Admob.
second is issue of Xcode 7.0 and you can try in Xcode xcode below 7 for till date,
I'm having an issue compiling my iOS code which was building with the earlier version of XCode.
I import UIKit/UIKit.h in my prefix header file, which with iOS 8 SDK cascades down to including CoreVideo/CVOpenGLESTexture.h, and from there OpenGLES/gltypes.h. In the preprocessor stage, XCode complains that the file gltypes.h is not found.
In the Search Paths for the Target, I've ensured that the Framework Search Paths and Header Search Paths are pointing to the location of the SDK installation. Also, "Always Search User Paths" is set to Yes.
Anyone else seen this issue? "Linked Framework and Libraries" has OpenGLES.framework above "CoreVideo.framework" or any other linked frameworks.
Update
XCode 6 was installed as an update from App Store. Also tried uninstalling XCode (by dragging app to trash), and re-installing from App Store. Did not help.
Update
I removed the prefix header file, and set "Precompile Prefix Header" to "No", deleted the cache where xcode would place the precompiled information. Still no give.
Now where ever UIKit/UIKit.h is imported, this error is thrown.
So here's what I did to get over this:
Quit XCode
Removed all reference to OpenGLES.framework from the .xcodeproj file
Restarted XCode, and opened the project
Deleted all derived data (Windows->Organizer->Projects->Derived
Data->Delete)
Let XCode re-index
I know this was asked some time ago, but I just had the same problem and fixed it.
I was working on an iOS app I inherited, and somehow they added the OpenGLES framework to the root of their source folder, and it was that version of OpenGLES framework that they added to the project as a linked framework instead of the one provided by the SDK.
So I removed that from the "Linked Frameworks and Libraries", and added the one supplied by the SDK. Stopped getting that error after doing so.