Multiple bundle ids for one firebase analytics project - ios

I have an app in the app store where I have a bundle id per territory. I need to have data for all territories in one Firebase Analytics project. This works well in both Flurry and Google Analytics. I am having troubles with Firebase though.
I am currently testing it out in debug mode and events only come in for the bundle id i specified in the plist file. I get an error in the log too:
"The project's Bundle ID is inconsistent with either the Bundle ID in
'GoogleService-Info.plist', or the Bundle ID in the options if you are
using a customized options. To ensure that everything can be
configured correctly, you may need to make the Bundle IDs consistent.
To continue with this plist file, you may change your app's bundle
identifier to 'com.my.bundleid'. Or you can download a new
configuration file that matches your bundle identifier from
https://console.firebase.google.com/ and replace the current one."
Does anyone know if it can be done?
Thanks in advance.

Well, it turns out it's pretty simple.
For the given project I could just add another app of the same type. This means I can add an app per target and handle the plist files using target membership. This is giving me all the bundle id's in one project.
Unfortunately there is no way to merge the data from the two app's into one report, but that will have to do.

Related

Can I use the same Firebase GoogleService-Info.plist for two iOS apps that have different bundle ids?

We run internal tests on our company Testflight while in development that never go live but then launch games on the client's Testflight. This results in us having two different bundle ids where the internal bundle id is something like com.mycompany.client.appname and the client's is com.clientcompany.appname.
Normally we add a second GoogleService-Info.plist since Firebase logs a message about this (which IMO should be a fatal error):
Project Bundle ID org.icivics.ratify does not match any bundle IDs in your GoogleServices-Info.plist files. This will result in an app that will fail to initialize.
However an app went live recently with only the GoogleService-Info.plist for the internal bundle id. Yet the dashboard appears to be properly reporting metrics despite being in an app with a bundle id that doesn't match the one in GoogleService-Info.plist. Because metrics are still being reported I'm not sure if I should be concerned about this.
What are the consequences if we don't push an update with the correct GoogleService-Info.plist?
The GoogleService-Info.plist file for a project contains the information about all iOS apps in that Firebase project. When you initialize the Firebase app in your code, it looks for the configuration data for the current app based on its bundle ID.
If you use an outdated GoogleService-Info.plist in your app, it may not be able to find the information for the app. In that case Firebase will fail to initialize and raise an error.

Why am I having so much trouble submitting my app to Apple?

This is my first time trying to submit an app to Apple, and I'm having a bunch of issues. I'm pretty sure I've generated all my certificates, AppID's, etc... I've been running the app on my phone just fine, then all of a sudden I started getting errors submitting. My first error was this:
But as you can see, the Bundle ID's are the same:
The ID in Xcode:
And the ID in iTunes Connect:
So I tried changing the Bundle ID, and made sure the Bundle ID's were the same across iTunes connect, Xcode, etc. I started out the project with a different name. Should I just start a new project with consistent naming?
Should the Bundle Identifier in Info read com.Kaen.M01eskin ?
It doesn't work with Application Loader either:
Somewhere the bundle identifier is getting M01eskin---prepended to it. As you can see in the dialog. I would check in your info.plist if perhaps there is something in Bundle identifier before the $(PRODUCT_BUNDLE_IDENTIFIER).
You could try hard coding it there and see if that resolves your problems.
Or try looking in your build settings for the target under Product Bundle Identifier and check there as well.
Make sure bundle id is same on your application & iTunes Connect.
Try using the Application Loader utility instead of the Archive upload to the App Store. It's available in the menu under Xcode... Open Developer Tool... Application Loader. You still have to create an Archive first; main difference is that you have to pick out your Archive via a Finder interface. Plus, you can get an active timeline for all the tasks, with current task and elapsed times.

Bundle ID format is wrong?

I'm having a problem whereas I cannot submit my archive for beta testing due to this problem (keep in mind I've already got a build out for testing, uploaded a while ago):
Xcode attempted to locate or generate matching signing assets and failed to do so because of the following issues.
An App ID with identifier '' is not available. Please enter a different string
According to this question, it seems that I should change my bundle ID from the format I am currently using: com.my.app, to the preferred format: com.my.app.XXX.
However, how can this be achieved? I'm using Firebase version 3 from Google as my backend provider, and I cannot seem to change the Bundle ID there, even if I would take the big step to create a whole new app in iTunes Connect due to not being able to changing the bundle ID.
My limitations (it seems):
Can't change bundle ID at Firebase
Can't change bundle ID with project in iTunes Connect.
Can't delete app identifier in member center because it's being used by the app listing in iTunes Connect.
Can't delete app from iTunes Connect.
Hence I'm a little stuck here; what's the best way to dig out of this?

Change application's name

How can I change the application's name without changing it's bundle identifier?
I've tried changing the bundle identifier in the .plist file so it will remain the same, but when trying to run the application i get an error in xcode stating:
No such file or directory (/Users/myUserName/Library/Developer/Xcode/DerivedData/OLD_APPLICATION_NAME-hhknzcpmarwfwldirezkiexvenqp/Build/Products/Debug-iphoneos/NEW_APPLICATION_NAME.app/NEW_APPLICATION_NAME)
This only happends when running on device. On simulator it works fine.
Found answer to my own question. See answer below as I can't accept it for another couple of days.
So I had to change the app's name after having changed the provisioning profile to one that didn't match my application's name.
So I only needed to change the name of the application that's being displayed on the device home-screen.
This can be done by only changing the Bundle Display Name, found in the .plist file. Thanks for your quick responses anyway.
You should change the CFBundleDisplayName in the apps Info plist file. This value is what the iOS spring board uses underneath each app. This can also be localised.
Change the bundle name .bundle identifier is for the provisioning profile.

iTunesConnect Bundle ID freaking me out

I have an app in my ituneconnect account. I changed its bundle ID. It still shows the older ID in app details. but when I validate my binary it says that you Bundle ID doent match as its been updated to new one.
I want to revert to old one again but it doesnt give me a option to select the older bundle ID. As in Edit option it shows the older one selected and the actual current one doesnt appears.
Let me make it more clear. I have 3 bundle Ids option - 1,2,3
The time I created application I added Bundle ID-2
Then I changed it to 3 by mistake
Still in app details it shows 2 as current bundle ID, Now there are just two options - 1,2
When I try to upload my binary it says that you have bundle ID 3 selected on iTunesConnect
Does anyone having similar issue
You cannot change the bundle ID of an app in iTunes connect. (It appears to be an absolutely unmodifiable field in Apple's database.) So you must have two different apps, and might be using (attempting to update) the wrong one.
Based on your question, I am assuming you are trying to change the bundle id not in xcode, but on iTunesConnect.apple.com and that your app was built with the new bundle id that you dont want to use.
If that is the case, here's what you should do:
Go to XCode, select the target, and select the Summary tab.
Change the bundle id
build and use application loader to submit the same (after verifying
the app) making sure that you have setup the app (you want to update) with the old bundle id for update.
Hope this helps!

Resources