Skip to content

How to add GoogleService-Info.plist in the sample project  #187

@dakeshi

Description

@dakeshi

This topic is about finding better way to add GoogleService-Info.plist in the sample project.
(refer to #89, 252f661)

I think that many developers are familiar with dragging GoogleService-Info.plist.
It is the most recommended way to add GoogleService-Info.plist in many google products.

It's working well.
But we are developers. We have a censor to have doubt and try to find the better way.
And we need to provide the easy and simple instructions for new users not just for experienced developers.

In the FirebaseUI sample project, there are two ways to add GoogleService-Info.plist in the sample project environments.

  • Dragging it in the sample project root.
  • Copy GoogleService-Info.plist into sample project folder (samples/obj-c/GoogleService-Info.plist or samples/swift/GoogleService-Info.plist)

Because our sample project already have a reference for GoogleService-Info.plist, we can just fill up the reference with the second technique.

So, let's start with @yramanchuk's thought about the pros and cons of copying file. (refer to the conversation in 252f661)

pros of copying file:

  • developer can determine that project is not configured on compilation time / not on runtime when appropriate error is shown;
  • the official document doesn't explicitly states that we need to drag plist (anyway I can update it based on our discussion if it's needed)
  • Xcode project file is not modified after file copy, thus users are not confused that they added any changes in project and will not commit them after contribution
  • configuration gif should be shown on main page which already contains media (https://github.com/firebase/FirebaseUI-iOS/tree/v0.6.3) - technically page can be too heavy

cons of copying:

  • it's already described in Firecasts
  • can be slightly more confusing for new users

Please share your thought about this issue.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions