only-bible-app v3.7.2+24

#kotlin#android#ios

git clone https://git.pyrossh.dev/only-bible-app

The only bible app you will ever need. No ads. No in-app purchases. No distractions.


ios/fastlane/Fastfile
fe24dd6 1
# This file contains the fastlane.tools configuration
fe24dd6 2
# You can find the documentation at https://docs.fastlane.tools
fe24dd6 3
#
fe24dd6 4
# For a list of all available actions, check out
fe24dd6 5
#
fe24dd6 6
#     https://docs.fastlane.tools/actions
fe24dd6 7
#
fe24dd6 8
# For a list of all available plugins, check out
fe24dd6 9
#
fe24dd6 10
#     https://docs.fastlane.tools/plugins/available-plugins
fe24dd6 11
#
fe24dd6 12
fe24dd6 13
# Uncomment the line if you want fastlane to automatically update itself
fe24dd6 14
# update_fastlane
fe24dd6 15
fe24dd6 16
default_platform(:ios)
fe24dd6 17
8b87a9b 18
# Screenshots are left untouched by default (regenerating/uploading them on
8b87a9b 19
# every release is slow and usually a no-op since the UI rarely changes).
8b87a9b 20
# Opt in with `fastlane release update_screenshots:true` or
8b87a9b 21
# `UPDATE_SCREENSHOTS=true fastlane release`.
8b87a9b 22
def update_screenshots_requested?(options)
8b87a9b 23
  options[:update_screenshots] || %w[1 true].include?(ENV["UPDATE_SCREENSHOTS"])
8b87a9b 24
end
8b87a9b 25
fe24dd6 26
platform :ios do
fe24dd6 27
  desc "Get App Store Connect API key"
fe24dd6 28
  lane :api_key do
fe24dd6 29
    app_store_connect_api_key(
e26d881 30
      key_id: "CB6LCVYFTC",
fe24dd6 31
      issuer_id: "abc54778-7886-4294-8e5c-ef9f7bb0827d",
e26d881 32
      key_filepath: "../certs/AuthKey_CB6LCVYFTC.p8",
fe24dd6 33
      duration: 1200,
fe24dd6 34
      in_house: false
fe24dd6 35
    )
fe24dd6 36
  end
fe24dd6 37
e26d881 38
  desc "Ensure signing certificate and provisioning profile exist"
e26d881 39
  lane :certs do
e26d881 40
    api_key = api_key()
e26d881 41
    cert(platform: "ios", api_key: api_key, output_path: "../certs")
e26d881 42
    sigh(platform: "ios", app_identifier: "sh.pyros.only-bible-app", api_key: api_key, output_path: "../certs")
e26d881 43
  end
e26d881 44
e26d881 45
  desc "Regenerate App Store screenshots from the Flutter golden tests"
e26d881 46
  lane :screenshots do
e26d881 47
    sh("cd ../.. && flutter test test/screenshot_test.dart --update-goldens")
e26d881 48
  end
e26d881 49
fe24dd6 50
  desc "Push a new release build to the App Store"
0228ae8 51
  lane :release do |options|
8b87a9b 52
    update_screenshots = update_screenshots_requested?(options)
8b87a9b 53
    screenshots if update_screenshots
e26d881 54
    certs
0000000 55
    # `build_app` runs `xcodebuild` directly, which never regenerates
0000000 56
    # ios/Flutter/Generated.xcconfig - only the `flutter` CLI does that. Without
0000000 57
    # this, CFBundleShortVersionString/CFBundleVersion stay pinned to whatever
0000000 58
    # version was baked in by the last `flutter build`/`flutter run`, ignoring
0000000 59
    # bumps to pubspec.yaml. `--config-only` refreshes the config without
0000000 60
    # performing a duplicate build.
0000000 61
    sh("cd ../.. && flutter build ios --release --config-only")
e26d881 62
    build_app(
e26d881 63
      workspace: "Runner.xcworkspace",
e26d881 64
      scheme: "Runner",
e26d881 65
      export_options: {
e26d881 66
        provisioningProfiles: {
e26d881 67
          "sh.pyros.only-bible-app" => lane_context[SharedValues::SIGH_NAME]
e26d881 68
        }
8b87a9b 69
      },
8b87a9b 70
      # Matches the path the `upload` lane's `deliver` call below expects -
8b87a9b 71
      # gym's default ("./Runner.ipa") doesn't, which would make `upload`
8b87a9b 72
      # look for an ipa that was never built there.
8b87a9b 73
      output_directory: "../build/ios/ipa",
8b87a9b 74
      output_name: "only-bible-app"
0228ae8 75
    )
8b87a9b 76
    upload(update_screenshots: update_screenshots)
fe24dd6 77
  end
fe24dd6 78
fe24dd6 79
  desc "Upload a pre-built IPA to the App Store"
8b87a9b 80
  lane :upload do |options|
8b87a9b 81
    update_screenshots = update_screenshots_requested?(options)
fe24dd6 82
    api_key = api_key()
fe24dd6 83
    deliver(
fe24dd6 84
      api_key: api_key,
fe24dd6 85
      ipa: "../build/ios/ipa/only-bible-app.ipa",
fe24dd6 86
      automatic_release: true,
fe24dd6 87
      submit_for_review: true,
fe24dd6 88
      precheck_include_in_app_purchases: false,
8b87a9b 89
      skip_screenshots: !update_screenshots,
8b87a9b 90
      overwrite_screenshots: update_screenshots
fe24dd6 91
    )
fe24dd6 92
  end
fe24dd6 93
end