Is There an Alternative Way to Incorporate Firebase into my iOS App Other Than Cocoapods?

1.5k Views Asked by At

My iPhone recently automatically updated to iOS 13.3.1, and unknown to me until it was to late apparently Apple blocked the use of some external frameworks when testing apps on a physical device within Xcode.

I can no longer run my app on my iPhone (although the simulator still works but it's SO much more inconvenient). I'm using cocoapods and the one that's causing the issue is Firebase. I need Firebase, so my question is: Is there another way to integrate Firebase into my app without using pods? I'm still using cocoapods for other things and they seem to work fine, but for Firebase is there a way to manually add the frameworks so as to still be able to launch it on my physical device?

For reference, here's another question that was asked on StackOverflow that shows my exact issue I'm having: Library not loaded: @rpath/FBLPromises.framework/FBLPromises iOS 13.3.1

Suggestions included:

  • Exchanging use_frameworks! in my podfile with use_modular_headers!, but that doesn't work with Firebase as many other things break... like it NEEDS to be dynamic in order for Firebase to work.
  • Reverting back to iOS 13.3 from 13.3.1. I'd be willing to do this of course and I tried for several days, but looks like Apple stopped signing 13.3 now so I'm unable to use the 13.3 firmware in order to restore my iPhone to the previous version... meaning I'm stuck with 13.3.1
  • Upgrading to a paid developer account. Some people are saying that this issue is only with free developer accounts, but I'm not willing to take the risk of upgrading my account right now for 2 reasons: 1) I have no way of knowing for sure that this issue will be fixed by upgrading my account and I don't want to spend the cash without a guarantee and 2) I'm still a ways away from submitting my app the the App Store so there's no need to pay a fee to Apple while I'm still in development for an indefinite amount of time.

Back to the question at hand: Can I manually add Firebase frameworks to my app without experiencing the problems associated with adding it via cocoapods such as in the linked question above?

EDIT 1

This is my Podfile for reference:

    # Uncomment the next line to define a global platform for your project

platform :ios, '8.0'

target 'JeegO' do
  # Comment the next line if you don't want to use dynamic frameworks

#use_frameworks!

use_modular_headers!

  # Pods for JeegO

pod 'Firebase'
pod 'Firebase/Auth'
pod 'Firebase/Database'
pod 'SVProgressHUD'
pod 'ReachabilitySwift'
pod 'SendGrid', :git => 'https://github.com/scottkawai/sendgrid-swift.git'
pod 'iCarousel'
#pod 'PromisesSwift'

end

EDIT 2

I ultimately removed my Firebase pods and tried using Firebase's zip binary distribution as suggested below, but for the life of me I can't get it to work so I'm chalking it up to a lost cause, unfortunately. Following the readme to integrate the static Firebase SDKs seemed straightforward but it just added about 50 "undefined symbol" issues among other things, so I ended up adding the pods back in and will probably just have to bite the bullet and register for the paid apple developer program in order to debug on my device... eye roll to Apple...

1

There are 1 best solutions below

3
On

Firebase does support use_modular_headers! If you're seeing a problem, please file an issue with the details.

Alternatively, Firebase also provides a zip binary distribution and an experimental Carthage distribution.