I am integrating FrirebaseCrashlytics SDK in tvOS and iOS without cocopods. I downloaded their xcFramework. But I can't use the xcFramework as the project is not compatible so I drag and drop ios-armv7_arm64 framework to project and added Firebase.h and module.modulemap (my project uses both objc and swift). Also, I specified the Firebase.h in the bridging header. I get below error when I build.
Showing Recent Errors Only
/Users/xxxxx/Code/ios/tvOSApplications/App/App/Firebase.h:15:9: 'FirebaseCore/FirebaseCore.h' file not found
Showing Recent Errors Only
/Users/xxxxx/Code/ios/tvOSApplications/App/App/App-tvOS-Bridging-Header.h:27:9: Could not build module 'Firebase'
Multiple problems to address (based on instructions in the README at the base of the distribution:
The zip distribution requires Xcode 11 which supports xcframeworks
The zip distribution only supports iOS. tvOS is only distributed via CocoaPods
All Firebase installations require the xcframeworks in the Analytics folder to also be installed.
I am able to get firebasecrashlytic .framework files without cocopods using Carthage. I copied files to project and it works in iOS project. I am looking for a similar solution for tvOS
Recently I had a similar requirement of supporting Firebase on both iOS and tvOS. As the frameworks are available only on iOS and not on tvOS. I could not integrate Frameworks. So the solution I followed is adding of Source files provided in https://github.com/firebase/firebase-ios-sdk corresponding to the required modules that are needed for enabling Firebase Crashlytics.
This solution worked for me and able to see the crashes. Let me know if you need more information
I got Firebase Crashlytics working for tvOS without Cocoapods or XCFramework bundles. Basically, you just need to bring over the source files, set the header search paths, and set all the required preprocessor macros. You can read the story here.
Thanks for the hint Gangadhar!
Related
I have very little experience in native iOS development but my current job is to wrap some specific native iOS framework to use it in React Native.
Preliminary data: common React Native tools generate an empty iOS library project and an example iOS app project that utilizes this library.
First I've tried to add the needed framework directly to the example app using CocoaPods - and it works fine, the framework became a part of linked libPods.a file, then if I add
#import MyTargetFramework;
to AppDelegate.m I can access different methods of the framework from it.
Next I switched to my iOS library project, applied the same setup (created a Podfile, added the same pod MyTargetFramework to it), then added the same #import MyTargetFramework to *.m file - but got a build error:
Module 'MyTargetFramework' not found
Also I've noticed that there is no libPods.a for iOS library project, all the pods are merged to a Pods.framework instead.
So my question is - what am I doing wrong? Why does it work for iOS app project, but not for iOS library project? How can I properly link my target framework to my own iOS library? I've already spent some time googling, but found nothing about app vs lib differences from this point.
I am creating an iOS app in which I would like to use FirebaseUI-iOS.
I am currently using Carthage to manage the dependencies.
FirebaseUI-ios does not currently support carthage (issue)
The following information is provided in the README of the FirebaseUI-iOS project.
Otherwise, you can download the latest version of the FirebaseUI frameworks from the releases
page or include the FirebaseUI
Xcode project from this repo in your project. You also need to add the Firebase
framework to your project.
However, I do not know exactly how to add the FirebaseUI project after downloading the release file.
Can someone point out how I can add the FirebaseUI-iOS framework to an iOS project without using CocoaPods?
I am trying to use a library (framework) into our iOS project (https://github.com/auth0/JWTDecode.swift). It provides a cocoapod interface to add/use the framework. But unfortunately in my project, we are not incorporated cocoapods and at this point it is not possible to integrate the cocoapods into our iOS project. So I down loaded the source code of the framework from git hub and build the framework. So I got the .framework file and that we added into our project. This framework is working fine in simulator and when try to build the ipa (archive) it fails and saying that
Use of unresolved identifier 'decode'.
The method 'decode' is one of the member of JWTDecode. Can someone help me to build the framework that works for both simulator and devices. I am not familiar with building frameworks in iOS.
I am using the JWTDecode framework for decoding the a JWT token.
The issue was due to the framework I built was only supporting for Simulator. I resolved the issue by building the framework for both device and simulator. The below post helped me on this.
https://medium.com/swiftindia/build-a-custom-universal-framework-on-ios-swift-549c084de7c8
After adding the Dropbox SDK Framework to my Xcode project (iOS) my project fails to build due to errors shown in image 1 below:
Prior to adding the Dropbox Framework, or reverting to the previous commit, results in the project building and running with out issue. I have also tested the same Dropbox SDK Framework package in a seperate demo project to ensure it is not corrupted - and that demo project builds and runs just fine, accessing the Dropbox SDK as expected.
Is it possible that the Dropbox SDK Framework is hiding or blocking access to the GLKit Framework within my main project?
Or is there something else at play here? The second error shown in screenshot claims the bridging header also 'Failed to import' which is an error I have not seen before, usually it is 'not found'.
The Dropbox SDK Framework is being added by drag-and-dropping into Xcode and checking the copy if needed box. Immediately after adding the Dropbox SDK Framework the project no longer builds and reports these errors.
I am answering my own question for anyone else who might have similar problems. While I did not find the root cause of the problem, I did get around it with the following solution.
I ended up removing all third party frameworks from my project which were:
ResearchKit Framework
Dropbox SDK Framework
Charts Framework
And in addition I removed all the XCode supplied frameworks from the project in the left hand file list: 'Project Title -> General -> Linked Frameworks and Libraries'
I then installed and setup CocoaPods with the project, and used CocoaPods to install and manage my third party frameworks (ResearchKit, Dropbox SDK and Charts)
The project is now able to build and run successfully and has access to the GLKit framework along with all other XCode supplied frameworks, bridging header and Dropbox SDK.
I assume this issue was due to a setting in XCode that was preventing access to GLKit after the Dropbox SDK had been added, and using CocoaPods to manage the integration of the third party frameworks skirted this issue.
If anyone has any further insight I'd be very interested to hear you explanation.
Recently, I have managed to try out Fabric.IO with a iOS iPhone app project built using native iOS framework in Swift.
That worked successfully.
I then attempted to try out Fabric.IO for another iOS app built using ionic.
What I tried
I created a new xcodeworkspace.
I ran ionic build ios which generated a brand new xcodeproj file.
I installed Fabric
I then added the Run Script Build Phase
I installed Crashlytics and then added the lines of code under AppDelegate.m
Then I incurred nearly 20 errors after that.
My questions
is it possible to use Fabric.IO for an iOS iPhone app built using ionic?
if possible, how do I get past the 20 over errors I have incurred?
Those are C++ library symbols; you need to link against the following libraries and frameworks:
libc++
libz
SystemConfiguration.framework
Security.framework
Which can be added via Link with Libraries and Frameworks.