FirebaseAuthUI with Swift Package Manager

Hello. I am trying to switch my project from pods to Swift Package Manager. However, I can’t seem to find FirebaseAuthUI to add when I look for the packages that I need. I was able to add FirebaseAuth through Swift Package Manager, but non of the FirebaseAuthUI libraries are being recognized. Is there a way to get around this issue?

Thanks.

Hey unfortunately, FirebaseAuthUI is only available as a Cocoapod. Later on in that module though, you won’t even need that pod, so can use strictly Swift packages :slight_smile:

Thanks RedFox. This is my first time using the CodewithChris message board. I can see now that there are multiple threads so forgive me if my replies seem repetitive. I havent quite figured out how to use this message board yet.

So you provided a key fact: FirebaseAuthUI is only available through Cocoapods. Lesson 2 should probably make that fact clear.

A Newbie like me is trying to figure out what’s best for user authentication.

In Lessons 2 and 3, I see tow paths: Firebase drop-in vs. Firebase custom.

From the way Firebase drop-in is presented in Lesson 2, it seems like drop-in is being recommended as preferred to Firebase custom of Lesson 3.

I didn’t know which to use so I am trying both. I had to guess that FirebaseAuthUI is only available through Cocoapods, so thank you for confirming my guess.

With the confirmation that FirebaseAuthUI is only available through Cocoapods, then my decision about user authentication has become entangled with another question: Is it better to avoid Cocoapods if possible?

Cocoapods is so widely used, perhaps Cocoapods is a more robust element than the swift package manager.

The idea of a “drop-in” was very attractive because it seems to me that the industry adoption of some sort of de-facto standard for user authentication seems inevitable.

Every app needs essentially the same, identical user authentication code. “LoginForm.swift” offered in Lesson 2 seems like something that could be an industry standard for user authentication.

So perhaps I could better ask the question: Has an industry standard for user authenticaion evolved, and if so what is that standard?

Perhaps this is the state of the art: Lesson 2 drop-in and Lesson 3 custom are essentially the same. Experienced developers use parts of both routinely.

Hey it’s all good! Glad to see you’re so active :slight_smile: I’m surprised you didn’t start posting until you hit the databases course.

The point I was trying to get across is that some questions are better started in a new thread. For instance, someone asks a question, then we answer that question related to the new post. We don’t normally go after a different question. You ask a lot of good questions! So if one of the reasons you might not receive an answer is, because you asked a question that would start a whole new conversation.

This seems like a great question to me! I agree it’s likely better to avoid Cocoapods, because Apple has a newer technology now. Still, at the same time, we don’t want to use something just because it’s new. One of the advantages of Swift Package Manager, is that it shows all your dependencies in a nice manner right in Xcode. Also, I saw in one video that you can simply expand the package manner and see the README from Github for that package itself. This is more convenient versus going elsewhere.

Hey there!

Switching from pods to Swift Package Manager (SPM) is a great move for your project’s dependency management. Regarding your question about FirebaseAuthUI, it appears that it might not be directly available as a Swift Package yet.

However, fear not! You can still integrate FirebaseAuthUI into your project when using Swift Package Manager. Here’s how:

  1. First, ensure that you’ve added FirebaseAuth to your project via Swift Package Manager.
  2. Next, you’ll need to manually add FirebaseAuthUI to your project. You can do this by directly including the source files into your project.Here’s the link to the FirebaseAuthUI GitHub repository: FirebaseAuthUIClone or download the repository and then include the necessary files into your Xcode project.
  3. After adding the FirebaseAuthUI files, you should be able to use its functionalities seamlessly alongside FirebaseAuth.

This workaround should help you integrate FirebaseAuthUI into your project until it becomes available as an official Swift Package. If you encounter any issues or need further assistance, feel free to ask!

Best of luck with your project!