contentIOSFastfile top-level constant

String const contentIOSFastfile

Implementation

const contentIOSFastfile = '''
default_platform(:ios)

platform :ios do
  desc "Description of what the lane does"
    # build_app(
    #     scheme: "Runner",
    #     archive_path: "./build/Runner.xcarchive",
    #     export_method: "development",
    #     output_directory: "./build/Runner"
    # )

      lane :upload_to_firebase do
        if (ENV['APP_ID'] && ENV['APP_ID'] != "") && (ENV['TESTER'] && ENV['TESTER'] != "") && (ENV['PATH_IPA'] && ENV['PATH_IPA'] != "")
          # Load config from ENV
          appId=ENV['APP_ID']
          tester=ENV['TESTER']
          pathIPA=ENV['PATH_IPA']

           # Load data update provisioning info
          provisioningFile=ENV['PROVIS_DISTRIBUTE']
          codeSignIdentity=ENV['CSIDENTITY_DISTRIBUTION']
          buildConfig=ENV['BUILD_CONFIG']

          puts "[Fastlane IOS] Load data from ENV successfully!"

          # Update provisioning
          update_project_provisioning(
            xcodeproj: "Runner.xcodeproj",
            profile: provisioningFile,
            build_configuration: buildConfig,
            code_signing_identity: codeSignIdentity,
          )

          # Upload to Firebase Distribution
          puts "[Fastlane IOS] Starting upload to Firebase Distribution..."
          firebase_app_distribution(
              app: appId,
              testers: tester,
              groups: "public_ios",
              release_notes: sh("git log -1 --pretty='%s'"),
              firebase_cli_path: "/usr/local/bin/firebase",
              ipa_path: pathIPA
          )
          puts "[Fastlane IOS] Upload to Distribution completed!"
        else
          raise RuntimeError, '[Fastlane IOS] ENV is not found so Fastlane will stop the process! Please try again!'
        end
      end

    lane :upload_testflight do
      if (ENV['APP_BUNDLE'] && ENV['APP_BUNDLE'] != "") && (ENV['ITC_PROVIDER'] && ENV['ITC_PROVIDER'] != "") && ( ENV['TEAM_ID'] && ENV['TEAM_ID'] != "") && (ENV['APPLE_ID'] && ENV['APPLE_ID'] != "") && (ENV['USERNAME'] && ENV['USERNAME'] != "") && (ENV['PATH_IPA'] && ENV['PATH_IPA'] != "")
        # Load config from ENV
        app_identifier=ENV['APP_BUNDLE']
        itc_provider=ENV['ITC_PROVIDER']
        team_id=ENV['TEAM_ID']
        apple_id=ENV['APPLE_ID']
        username=ENV['USERNAME']
        pathIPA=ENV['PATH_IPA']
        # Load data update provisioning info
        provisioningFile=ENV['PROVIS_APPSTORE']
        buildConfig=ENV['BUILD_CONFIG']
        codeSignIdentity=ENV['CSIDENTITY_DISTRIBUTION']

        puts "[Fastlane IOS] Load data from ENV successfully!"

        # Update provisioning
        update_project_provisioning(
          xcodeproj: "Runner.xcodeproj",
          profile: provisioningFile,
          build_configuration: buildConfig,
          code_signing_identity: codeSignIdentity,
        )

        # Upload to TestFlight
        puts "[Fastlane IOS] Starting upload to testflight..."
        upload_to_testflight(
          username: username,
          app_identifier: app_identifier,
          itc_provider: itc_provider,
          team_id: team_id,
          apple_id: apple_id,
          skip_waiting_for_build_processing: true,
          skip_submission: true,
          ipa: pathIPA
        )
        puts "[Fastlane IOS] Upload to testflight completed!"
      else
        raise RuntimeError, '[Fastlane IOS] ENV is not found so Fastlane will stop the process! Please try again!'
      end
    end

end
''';