only-bible-app v3.7.2+24
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 |