Git Product home page Git Product logo

Comments (16)

KrauseFx avatar KrauseFx commented on March 29, 2024

@nandodelauni thanks for implementing Crashlytics Beta.

You haven't posted your Deliverfile. I assume you're using shenzhen for building? If so, the ipa block in your Deliverfile should look like this:

ipa do
  system("cd ..; ipa build")
  "../file_name.ipa"
end

from fastlane.

KrauseFx avatar KrauseFx commented on March 29, 2024

Oh, why are you running deliver anyway? You can disable deliver in your Fastfile.

To create a new action, check out this part of the README.

from fastlane.

nandodelauni avatar nandodelauni commented on March 29, 2024

Thanks! I was using deliver in order to generate the ipa. I know that deliver is intented to stuff related with metadata in iTunes connect, there is another way to generate the ipa file? This is my lane:

lane :beta do
  sigh
  deliver :skip_deploy, :beta
  crashlytics(api_token:"...", build_secret:"...", groups:"...")
end

In my crashlytics.rb implementation (yep I am using shenzhen, same approach as hockey.rb) I am using the ENV variables for the ipa path but I am not sure if this approach is good :S

from fastlane.

KrauseFx avatar KrauseFx commented on March 29, 2024

Can you share your Deliverfile as well please?

from fastlane.

nandodelauni avatar nandodelauni commented on March 29, 2024

Sorry. I was using the template and only modified the beta_ipa:

beta_ipa do
    system("cd ..; ipa build -s Heisy --verbose") # customize this to build beta version
    "./ad_hoc_build.ipa" # upload ipa file using `deliver --beta`
end

You can find the implementation for crashlytics.rb here:
https://github.com/chicisimo/fastlane/blob/crashlytics/lib/fastlane/actions/crashlytics.rb

from fastlane.

KrauseFx avatar KrauseFx commented on March 29, 2024

Replace
"./ad_hoc_build.ipa"
with
"../ad_hoc_build.ipa"

from fastlane.

nandodelauni avatar nandodelauni commented on March 29, 2024

I have been trying out and that's not what I want, I just want deliver to generate the ipa file in order to populate ENV["DELIVER_IPA_PATH"] (for crashlytics.rb) but I don't see any option for that

from fastlane.

ergunkocak avatar ergunkocak commented on March 29, 2024

Could not find project folder i replaced :
system("ipa build --verbose") # build your project using Shenzhen
with
system("cd ..; ipa build --verbose") # build your project using Shenzhen

PS : tnx for great project 👍

from fastlane.

KrauseFx avatar KrauseFx commented on March 29, 2024

@nandodelauni sorry for the late reply.

deliver's job is not to build your ipa file. Take a look at the Hockey Implementation: hockey.rb:25

The user of the hockey action needs to pass the path to the ipa file to use. I recommend using shenzhen to build your app. (ipa build)

I took a look at your good, it's a great start, but I'd recommend changing the following:

def self.assert_valid_ipa_path!(ipa_path)
  return if File.exists?(ipa_path)
  raise "IPA file on path '#{File.expand_path(ipa_path)}' not found".red
end

to

raise "IPA file on path '#{File.expand_path(ipa_path)}' not found".red unless File.exists?(ipa_path)

without having a method for each assert.

To come back to the original question: Remove deliver from your Fastfile, since it's only used to upload builds and metadata to iTunes Connect, which you don't want to do.

Does that make sense?

from fastlane.

nandodelauni avatar nandodelauni commented on March 29, 2024

Totally. Closing this. I hope to make a PR with crashlytics soon :)

from fastlane.

KrauseFx avatar KrauseFx commented on March 29, 2024

@nandodelauni So, you're still working on this? If not, I'd add the Crashlytics action

from fastlane.

nandodelauni avatar nandodelauni commented on March 29, 2024

yep, let me come back to you late on the day

from fastlane.

KrauseFx avatar KrauseFx commented on March 29, 2024

Thanks, looking forward to it 👍

from fastlane.

pedrogimenez avatar pedrogimenez commented on March 29, 2024

Hey!

I've just read your comment, I prefer to have one level of abstraction per method and I think that the guard clause makes the code more idiomatic:

def self.assert_valid_ipa_path!(ipa_path)
  return if File.exists?(ipa_path)
  raise "IPA file on path '#{File.expand_path(ipa_path)}' not found".red
end

Also, I don't like statement modifiers at the end of long lines.

without having a method for each assert.

As it is the methods have only one reason to change, If I put all the asserts in the same method there will be multiple reasons for the method to change.

from fastlane.

nandodelauni avatar nandodelauni commented on March 29, 2024

@KrauseFx my colleague @pedrogimenez is opening a PR with Crashlytics support :)

from fastlane.

KrauseFx avatar KrauseFx commented on March 29, 2024

Great! 👍

from fastlane.

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.