Comments (20)
Hey @rafalzawadzki @komarekw. I think I know why you may be running into this issue. For background, App Distribution has a notion of releases and binaries. For iOS, we uniquely identify a release by its version information (CFBundleVersion
, CFBundleShortVersionString
) and a hash of just the app code. This hash excludes resource files such as the provisioning profile. A binary is uniquely identified by a hash of the IPA, including its resource files. For iOS ad-hoc distributions, it's common for releases to have multiple binaries associated with them since it's normal for developers to upload the same code with an updated provisioning profile to give testers access.
In the Firebase Console, the cards you see are releases. So what may be happening is that you're uploading a build with no code changes. If this is the case, a new release won't be visible in the Firebase Console but the binary will be available for your testers to download.
You can confirm this by using the most recent version of the fastlane plugin. When you distribute if the output says This IPA has been uploaded before. Skipping upload step.
that means the binary is being grouped under an existing release.
from fastlane-plugin-firebase_app_distribution.
Ahh you know what I misspoke in that last post. If you do change a resource file, it will treat it as a new binary so unfortunately you won't see the "This IPA has been uploaded before. Skipping upload step." message. But you still won't see a new release in the console for the same reasons mentioned above. Instead these builds are being "grouped" under an existing release.
@komarekw @rafalzawadzki are you explicitly updating the source code? If not can you make a simple update (like adding a variable and logging it)or bump the version, upload again and see if the release shows up in the console?
Hey @tagboola ,
we always change code at least for Flutter, because we use it for iOS build upload for a Flutter project.
from fastlane-plugin-firebase_app_distribution.
Hi LukeAveil, Fabric/Firebase DevRel here.
How many testers do you have? Do they all get the same problem?
Also, can you let me know what your project id is? It will help me look into this better :)
If you don't feel comfortable sharing here, you can reach us at here so we can discuss with more details :)
from fastlane-plugin-firebase_app_distribution.
Facing the same issue even when running locally:
Xcode: 12
fastlane: 2.145.0
from fastlane-plugin-firebase_app_distribution.
works after updating to fastlane-plugin-firebase-app-distribution: 0.2.1
from fastlane-plugin-firebase_app_distribution.
Same problem here, even on the latest version (0.2.4)
from fastlane-plugin-firebase_app_distribution.
Having the same problem here, Fastlane shows "App Distribution upload finished successfully." message but there's nothing in firebase
from fastlane-plugin-firebase_app_distribution.
Similar problem here (on 0.2.5): most of the time only the first build and upload result in a correct version in Firebase App Distribution and the consecutive ones report success but nothing shows up. We use Github Actions as CI if that matters
from fastlane-plugin-firebase_app_distribution.
Also here is nothing shown in Firebase Distribution. We are using version 0.2.5 of the plugin and CircleCI.
from fastlane-plugin-firebase_app_distribution.
Hey @rafalzawadzki @komarekw. I think I know why you may be running into this issue. For background, App Distribution has a notion of releases and binaries. For iOS, we uniquely identify a release by its version information (
CFBundleVersion
,CFBundleShortVersionString
) and a hash of just the app code. This hash excludes resource files such as the provisioning profile. A binary is uniquely identified by a hash of the IPA, including its resource files. For iOS ad-hoc distributions, it's common for releases to have multiple binaries associated with them since it's normal for developers to upload the same code with an updated provisioning profile to give testers access.In the Firebase Console, the cards you see are releases. So what may be happening is that you're uploading a build with no code changes. If this is the case, a new release won't be visible in the Firebase Console but the binary will be available for your testers to download.
You can confirm this by using the most recent version of the fastlane plugin. When you distribute if the output says
This IPA has been uploaded before. Skipping upload step.
that means the binary is being grouped under an existing release.
Thx @tagboola for your answer. Unfortunately we don't get this message. Seems like we have different problem.
INFO [2021-02-08 08:28:27.28]: ---------------------------------------
INFO [2021-02-08 08:28:27.28]: --- Step: firebase_app_distribution ---
INFO [2021-02-08 08:28:27.28]: ---------------------------------------
INFO [2021-02-08 08:28:29.13]: ▸ i getting app details (Distribution type: ipa)...
INFO [2021-02-08 08:28:29.69]: ▸ i uploading distribution...
INFO [2021-02-08 08:28:33.09]: ▸ ✔ uploaded distribution successfully!
INFO [2021-02-08 08:28:33.09]: ▸ i adding release notes...
INFO [2021-02-08 08:28:33.25]: ▸ ✔ added release notes successfully
INFO [2021-02-08 08:28:33.25]: ▸ i adding testers/groups...
INFO [2021-02-08 08:28:33.79]: ▸ ✔ added testers/groups successfully
INFO [2021-02-08 08:28:33.81]: Cruising back to lane 'ios build_and_upload' 🚘
from fastlane-plugin-firebase_app_distribution.
@tagboola thank you for the suggestion, but I think my case is the same as for @komarekw:
[19:01:15]: Successfully exported and signed the ipa file:
[19:01:15]: /Users/runner/work/[xxxx].ipa
[19:01:15]: Cruising back to lane 'ios distribute_staging' 🚘
[19:01:15]: ---------------------------------------
[19:01:15]: --- Step: firebase_app_distribution ---
[19:01:15]: ---------------------------------------
[19:01:15]: Authenticating with --firebase_cli_token parameter
[19:01:15]: 🔐 Authenticated successfully.
[19:01:16]: ⌛ Uploading the IPA.
[19:01:22]: ✅ Uploaded the IPA.
[19:01:22]: ✅ Posted release notes.
[19:01:23]: ✅ Added testers/groups.
[19:01:23]: 🎉 App Distribution upload finished successfully.
The same shows for three consecutive builds which did not result in the release being listed in Firebase App Distribution. Using plugin version 0.2.5
.
from fastlane-plugin-firebase_app_distribution.
Ahh you know what I misspoke in that last post. If you do change a resource file, it will treat it as a new binary so unfortunately you won't see the "This IPA has been uploaded before. Skipping upload step." message. But you still won't see a new release in the console for the same reasons mentioned above. Instead these builds are being "grouped" under an existing release.
@komarekw @rafalzawadzki are you explicitly updating the source code? If not can you make a simple update (like adding a variable and logging it)or bump the version, upload again and see if the release shows up in the console?
from fastlane-plugin-firebase_app_distribution.
@tagboola Interesting. Maybe it's because our project is in React Native and often the only changes are in the RN JS bundle? This would not explain why builds sometimes succeed and sometimes not though
from fastlane-plugin-firebase_app_distribution.
@rafalzawadzki @komarekw gotcha displaying a more descriptive message after uploading a build so folks know if the build resulted in a new release or was grouped under an existing one is something we've talked about. I'll make sure to share this feedback with the team 🙂
from fastlane-plugin-firebase_app_distribution.
+1, the same problem with the Flutter project :(
Flutter is embedded with CocoaPods.
- Checkout project
- Build and upload the IPA
- FAILURE: Not appeared in App Distribution (because no changes in app binary)
- Change any swift file
- Build and upload the IPA
- SUCCESS: Appeared in App Distribution
- Do nothing
- Build and upload the IPA
- SKIPPED: It's ok, the duplicate is skipped, not even uploaded actually.
- Change any dart file
- Build and upload the IPA
- FAILURE: Uploaded. Not appeared in App Distribution, though.
СFBundleVersion and CFBundleShortVersionString for all previous builds are the same.
It would be great If #25 had been resolved. So I could just use the newest CFBundleVersion and increment_build_number.
My current workaround is adding FirebaseUploadingHack.swift
file to project and modifying its content before building the app:
def firebaseUploadingHack
filename = "../Runner/FirebaseUploadingHack.swift"
content = Time.now.strftime("class FirebaseUploadingHack%s { static let hackedTime = %s } ")
File.write(filename, content)
end
lane :buildForAppDistribution do
firebaseUploadingHack()
build_ios_app(...)
end
from fastlane-plugin-firebase_app_distribution.
@rafalzawadzki @komarekw gotcha displaying a more descriptive message after uploading a build so folks know if the build resulted in a new release or was grouped under an existing one is something we've talked about. I'll make sure to share this feedback with the team 🙂
Any idea how can I find the build grouped under an existing release? There seems to be no change to the release, it still has the same date, binary etc and no additional options 🤔
from fastlane-plugin-firebase_app_distribution.
@rafalzawadzki you can search for the build by the release notes? Even though running the action doesn't result in a new release, if you've included release notes the release should have the updated release notes.
from fastlane-plugin-firebase_app_distribution.
@rafalzawadzki FYI with newly the released version 0.3.1
the plugin prints out a more detailed error message if the upload results in a build that's grouped under an existing release. It will print out the build and version so it should be easier to find the the release in the Firebase console.
from fastlane-plugin-firebase_app_distribution.
I'm seeing this issue with plugin version 0.3.1 after switching to a new provisioning profile.
Uploaded IPA successfully; updated provisioning profile of existing release 5.9.9 (1)
from fastlane-plugin-firebase_app_distribution.
For any Flutter developers that are seeing this issue, make sure you've completed the steps in this Stack Overflow answer:
https://stackoverflow.com/a/63914373/12806961
In my case, I had manually changed the build number so even though I was building my app with a specific build number, it was using the old one.
from fastlane-plugin-firebase_app_distribution.
Related Issues (20)
- App Distribution could not generate credentials from the refresh token specified HOT 2
- `Net::WriteTimeout with #<TCPSocket:(closed)> (Faraday::TimeoutError)` error when trying to upload an APK HOT 6
- Upload to Apple fails HOT 2
- Get link to release HOT 15
- Error loading plugin 'fastlane-plugin-firebase_app_distribution' in 0.4.0 HOT 14
- How i can install this plugin when install Fastlane by Brew? HOT 1
- Downloaded firebase_app_distribution, but there is no firebase_app_distribution_login as an action. HOT 5
- use official, auto-generated Google API client HOT 1
- Uploading duplicate Android releases do not update existing release on app distribution HOT 5
- firebase_app_distribution_get_latest_release requires `client_email` param HOT 1
- SendTimeoutError when upgrading to 0.7.0 HOT 20
- v0.7.0 dependencies change breaks fastlane's google play upload action HOT 3
- could not generate credentials from the refresh token HOT 2
- Couldn't find binary when building APK
- Couldn't find binary when building APK HOT 2
- upload_timeout parameter has no effect HOT 3
- `GOOGLE_APPLICATION_CREDENTIALS` environment variable is ignored HOT 1
- TransmissionError Android 0.8.1 HOT 4
- Running action to obtain udids crashes on macos runner HOT 1
- Error after uploading my iOS app to Firebase App Distribution HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from fastlane-plugin-firebase_app_distribution.