Coder Social home page Coder Social logo

Comments (20)

tagboola avatar tagboola commented on May 3, 2024 2

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.

komarekw avatar komarekw commented on May 3, 2024 1

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.

lll8033 avatar lll8033 commented on May 3, 2024

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.

jayshah123 avatar jayshah123 commented on May 3, 2024

Facing the same issue even when running locally:
Xcode: 12
fastlane: 2.145.0

from fastlane-plugin-firebase_app_distribution.

jayshah123 avatar jayshah123 commented on May 3, 2024

works after updating to fastlane-plugin-firebase-app-distribution: 0.2.1

from fastlane-plugin-firebase_app_distribution.

LcTwisk avatar LcTwisk commented on May 3, 2024

Same problem here, even on the latest version (0.2.4)

from fastlane-plugin-firebase_app_distribution.

benbalderas avatar benbalderas commented on May 3, 2024

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.

rafalzawadzki avatar rafalzawadzki commented on May 3, 2024

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.

komarekw avatar komarekw commented on May 3, 2024

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.

komarekw avatar komarekw commented on May 3, 2024

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.

rafalzawadzki avatar rafalzawadzki commented on May 3, 2024

@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.

tagboola avatar tagboola commented on May 3, 2024

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.

rafalzawadzki avatar rafalzawadzki commented on May 3, 2024

@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.

tagboola avatar tagboola commented on May 3, 2024

@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.

aserdobintsev avatar aserdobintsev commented on May 3, 2024

+1, the same problem with the Flutter project :(
Flutter is embedded with CocoaPods.

  1. Checkout project
  2. Build and upload the IPA
  3. FAILURE: Not appeared in App Distribution (because no changes in app binary)
  4. Change any swift file
  5. Build and upload the IPA
  6. SUCCESS: Appeared in App Distribution
  7. Do nothing
  8. Build and upload the IPA
  9. SKIPPED: It's ok, the duplicate is skipped, not even uploaded actually.
  10. Change any dart file
  11. Build and upload the IPA
  12. 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 avatar rafalzawadzki commented on May 3, 2024

@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.

tagboola avatar tagboola commented on May 3, 2024

@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.

tagboola avatar tagboola commented on May 3, 2024

@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.

airowe-ra avatar airowe-ra commented on May 3, 2024

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.

jtmuller5 avatar jtmuller5 commented on May 3, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.