'GADURewardedInterstitialAd.h' file not found -error xcode- - ios

Recently I tried to build my xcode project from Unity3D export, but after 400/500 tasks, a major error appear:
GADURewardedInterstitialAd.h file not found
I've tried:
restart xcode
re import GoogleMobileAds SDK IOS(latest update 8.7.0)
change admob version in Unity (5.4.0 or 6.0)
sure, cleaning the project (before launch "archive")
remove the "GoogleMobileAds.xcframework" from "Frameworks" folder and add it again
try the method "framework search paths" in Build Setting (UnityFramework)
try to YES (Enable Modules C & Objective-C)
try to modify architecture (why not)
try to add in OTHER LINKER FLAGS "-ObjC"
No luck, still the same error, any ideas to solve this? thanks.

My solution to various errors of this type was to import the GoogleMobileAds via CocoaPods and not manually. This is because first of all it does everything by itself, and then because it installs you in the project the version of the GMA of iOS supported by the unity plugin (or else sometimes you may find yourself with the version of the unity plugin that does not support the too recent version of the package for iOS)
I suggest you try initially with version 5.4.0 of the plugin, as 6.0.0 and 6.0.1 I saw on GMA's GitHub that some users encounter various errors on Xcode, then maybe if it works you can try with a plugin most recent. What version of Unity do you use? (I built with 2020.3)
I leave you the links of two of my videos that I made that explain (1) how to install/update CocoaPods, (2) how to import GMA via CocoaPods.
I want to say that I have no intention of advertising my content, I have a tiny channel with some videos to help those like me who have had various problems starting to program or use Unity, I do not monetize. You are obviously free to look for information on the internet regarding what was said before and not to watch the videos, which I repeat I have linked only to help.
(1)
Install/update CocoaPods ,
(2)
Import GMA using CocoaPods
In this other link (which leads to a documentation page of the GMA package for iOS), you can read the note from Google that suggests the use of CocoaPods:
Link

Related

Getting error: ld: framework not found Fabric for architecture armv7 in App

I have build a iOS framework eg: abc.framework. Now in abc.framework I have added FirebaseDatabase and FirebaseMessaging. The abc.framework compiles and builds properly. However when I add the abc.framework and abc.bundle in my iOS project eg: xyz.project then it is giving error "framework not found Fabric for architecture armv7". I have not added Fabric in abc.framework and not in my xyz.project. However when I remove the Firebase from the abc.framework then the error disappears from xyz.project and the project compiles and run without errors.
If anyone has encountered the same issue then please let me know how should I solve the issue. I have to integrate Firebase in abc.framework and that framework will be added in xyz.project
Nested frameworks are not allowed in IOS , it's only allowed in MacOSX , to create a frameWork it must be of a pure code , fabric is in Firebase , also framework must support all architecture armv7,64 and soon on this configured when you build it, I encountered the same situation posted in Apple forums and find that
If CocoaPods is an option for you, the recent CocoaPods 1.4.0 release has added the static framework podspec option, which enables the definition of static frameworks that allow depending upon other static frameworks like Fabric.

No such module 'BMSPush' after SDK installation with cocoapods

I've initialized the Bluemix Push SDK for iOS following the online documentation: https://console.ng.bluemix.net/docs/services/mobilepush/t_enable_ios_notifications_install.html
Unfortunately, the "import BMSPush" statement in my AppDelegate.swift raises an error (No such module 'BMSPush').
When building my application (target: iOS 8.0), there are 13 issues raised on BMSPushClient.swift, as detailed in the following screenshot:
My configuration is as following:
XCode 7.0.1
Mac OS X 10.10.5
Cocoapods 0.39.0
Cocoapods reported the following versions of the installed dependencies:
Using BMSAnalyticsAPI (0.0.20)
Using BMSAnalyticsSpec (0.0.16)
Using BMSCore (0.0.44)
Using BMSPush (0.1.06)
Does anybody knows how to solve this issue ?
I solved the issue by updating the SDK source code (!), prefixing each ambiguous type with BMSAnalyticsSpec., for example replacing:
internal func sendAnalyticsData (logType:LogLevel, logStringData:String){
with:
internal func sendAnalyticsData (logType:BMSAnalyticsSpec.LogLevel, logStringData:String){
The real cause of this issue is due to a name change in the BMS Swift SDK. As you may know, the Swift SDK for Bluemix Mobile Services is still in the pre-release stage. Changes are constantly happening to improve the SDK before the official release.
In this case the project BMSAnalyticsSpec has been changed to BMSAnalyticsAPI which caused issues with the import statements in the BMSPushUtils and BMSPushCore files. The development team has updated the SDK to include the new BMSAnalyticsAPI import statements. I can let you know when it is available.
To fix this problem in your local environment, you could update the import statements in those two files with the new BMSAnalyticsAPI import statement. Again, the SDK should still be used as an experimental SDK until it is officially released.
UPDATE: The BMSPush SDK has been updated to include the name changes described above. Please complete a pod update in order to grab the latest version (0.1.07). This should solve the problem you described above.

Xcode compile error with Firebase

I just installed the Firebase framework to Xcode (not using CocoaPods due to other unsolvable issues with that). I followed the Firebase Alternative Setup instructions from here (manually dragging the FireBase 2.5 Framework to my project).
Problem is, when I compile my app I get 27 errors:
screenshot
I'm just using the sample code from the Getting Started page.
In fact, all I'm using so far is the first line, but it won't even instantiate that. (var ref = Firebase(url:"my firebase URL here")
I'm on Xcode 7.2 and Swift 2.1. My target is iOS 9.2 using the Simulator.
Please help!
Thanks.
PS.
I should also add that libicucore.dylib and libc++.dylib no longer appear to be available as linkable libraries that you mention to include from firebase.com/docs/ios/alternate-setup.html So maybe this is related? Someone mentioned libz.tbd is the one to use now? (which I'm using)
If you are targeting 9.2 then the frameworks changed to the following:
libicucore.dylib to libicucore.tbd
libc++.dylib to libc++.tbd
They are exactly the same so use them instead, you have to use them in order to get it working.
A comment by apple:
For those who are curious, the .tbd files are new "text-based stub
libraries", that provide a much more compact version of the stub
libraries for use in the SDK, and help to significantly reduce its
download size.

Error with Google Play Game Service on iOS

I am getting this error:
ERROR: GPGSAppController.mm GIDSignIn.h File not found error
I am using Google Play Game Service plugin for Unity for leaderboard and Achievements, and every thing is working fine in android but when I build to IOS and try to run my project to an iOS device I keep getting this error and I couldn't find a solution to it for hours now.
I tried to deleted everything related to Google Play service (After creating a back up of course) and the app installed and worked ok, except it was a bit laggy but that is a another issue. So I'm sure the problem comes from Google Play Service, but I have no clue how to fix it. Again I'm new to Xcode and iOS development in general and even Mac.
I also get this message after building the project in Unity:
TO FINISH CONFIGURING THE EXPORTED XCODE PROJECT
Add these frameworks:
AddressBook.framework
AssetsLibrary.framework
CoreData.framework
CoreTelephony.framework
CoreText.framework
Security.framework
libc++.dylib
libz.dylib
Add the following bundles and frameworks from the Google Plus
and the Google Play Games C++ SDKs. These can be downloaded from
https://developers.google.com/games/services.
GoogleOpenSource.framework
GoogleSignId.bundle
GoogleSignId.framework
gpg.bundle
gpg.framework
Note: Make sure the bundles are copied to application. This can be
verified under Build Phases/Copy Bundle Resources.
Add the '-ObjC' linker flag. To do this, select the top-level project
object, select the 'Unity-iPhone' build target, then go to the
Build Settings tab. Search for Other Linker Flags and add
the '-ObjC' flag to that list.
** Note: To run in the simulator, use Unity 4.6.8 or greater.
ios_instructions on plugin repository
But I have no idea how to do any thing above as am not familiar with iOS development. Any help is appreciated.
#aimozs answer was right for indicating where to add required files, a few google search gave me the answers;
From instructions (didn't work for me, scroll down)
AddressBook.framework
AssetsLibrary.framework
CoreData.framework
CoreTelephony.framework
CoreText.framework
Security.framework
libc++.dylib
libz.dylib
These can all be located directly when linking frameworks. (In my case, libc++.dylib and libz.dylib were already linked, and I couldn't find them somehow, but regenerating your xcode project should add these two again.
GoogleOpenSource.framework
I've found it here:
https://developers.google.com/+/mobile/ios/getting-started#step_1_creating_the_console_name_project
GoogleSignId.bundle
GoogleSignId.framework
Found them in:
https://developers.google.com/identity/sign-in/ios/sdk/
(I grabbed latest version Google Sign-In SDK 3.0.0)
gpg.bundle
gpg.framework
I found them here:
https://developers.google.com/games/services/downloads/sdks
(Grabbed Play Games C++ SDK Version 2.1)
Also, the following part of the message seemed important:
Make sure the bundles are copied to application
I tried to copy bundle files to root of the project, but I still get the same error.
Solution: CocoaPods and the podfile!
I saw the PodFile in xcode project directory!.
Here you go; make sure you followed these steps:
https://github.com/playgameservices/play-games-plugin-for-unity#ios-setup
Then see https://cocoapods.org/
sudo gem install cocoapods
pod repo update
pod install
open Unity-iPhone.xcworkspace
Way better than manually copying files everywhere! ;)
Note: I also had to disable bitecode because I was having a linker error concerning GoogleOpenSource:
You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE)
It doesn't seem to be compiled with bitcode enabled, solution in here: how to ENABLE_BITCODE in xcode 7?
Build, enjoy and focus on making awesome games!
Linked questions
There's also a small discussion here:
http://forum.unity3d.com/threads/googleplus-googleplus-h-file-not-found-gpgsappcontroller-mm-xcode.294398/
A similar issue on UnityAnswers:
http://answers.unity3d.com/questions/1098655/gpgsappcontrollermm-gidsigninh-file-not-found-erro.html
Im going through that aswell, and for #1 it has to be done in xcode, here's a screenshot of how to add those libs
And that is for #3
Hope that helps :) and I'll get back to you about #2 when I've found out about it ;)

Unable to use Google Analytics for iOS

I don't know what Happens to the code or google.
I just Downloaded the Sample App for Google Analytics for Google.
I downloaded it via pod using:
pod try Google
and chooses the option for Analytics.
After downloading when I build the project I am getting Linker Error.
Fully Stuck Tried All The way available in SO.
Removed -ObjC Flag
Removed -force-load Flag
Changed Load Common Section from Yes to NO
But none of the way help me Out. What is the issue with it.
Here is the Screen shot of the Error:
Here is the Following reason of this ERROR :
*Note - Integrated GooGle Analytic without CocoaPods.
If latest GA(Google Analytics) sdk is using then better to upgrade to Xcode 7 otherwise it will give you duplicate error (even if configured properly)
Running with Xcode 6.2 or < Xcode 7 then better to download September (August) Release Sdk.
Go with Xcode and select GA folder and right click - choose show in Finder then all files should be there . If yes then check is there two different copy exists in other folder .
Thanks
It basically says that there are functions duplications in the project...
Make sure the following:
The project does not have #import for .m files by mistake
In the projects build phases there are no file names duplications
There are no initialized variables in .h files e.g "int
variableA = 5"
If none of the above works, remove in project settings Other Linker
Flags "-ObjC", that will allow to load the same functions more then
one time.

Resources