Xcode compile error with Firebase - ios

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.

Related

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

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

Xcode error: 9 duplicate symbols for architecture armv7 using Cometchat cordova

I'm using Cometchat Ionic sdk, I've added the cordova plugin with ionic cordova plugin add cometchat_sdk_folder and it works in android but when I compile for iOS I'm getting this error:
Output log
This issue has been resolved and a new version of our SDK has been released. If you still face this issue, feel free to email us.
Thanks,
Both the cometchat-ui and MessageSDKFramework frameworks contain an implementation of the Reachability module, which both define the same symbols.
AFAIK, to solve this you need to get/create a version of either framework without the Reachability module.
To do this, you need to have the source code of either framework. You need to change the build process/script so that it does not include the Reachability module. Then you need to rebuild either framework and include include that in your app's Xcode project.
If you don't have the source code of either framework: I think there should be linker options to ignore either duplicate module, or ignore there errors. I leave this to you.

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 ;)

'FBSDKLoginKit/FBSDKLoginKit.h' file not found (Facebook SDK for iOS v4.2 & Xcode 7)

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

Why am I getting 'Braintree/BTUICTAControl.h' file not found error on Braintree manual integration?

I get the following build error after implementing step number four "Add the Braintree SDK code to project" from the Manual Integration Without CocoaPods guide.
braintree_ios/Braintree/UI/Braintree-Payments-UI.h:3:9: 'Braintree/BTUICTAControl.h' file not found
Tested in
New Objective-C iOS app project.
In Xcode 6.1 (6A1042b) and 6.3 (6D543q)
How can I fix this build error?
I work on the Braintree iOS SDK.
I believe using the name Braintree instead of Braintree SDK for the framework target name will resolve this particular issue. I recently updated the manual docs accordingly.
We recommend that you integrate using CocoaPods if at all possible, as it handles all this complexity for you.
Note also that I've responded on the issue you posted on GitHub. Let's resolve this there. Thanks!
Have you tried manually downloading the zip file and not using git?
Try following the second bullet point from the first step.

Resources