default_platform(:ios) package = load_json(json_path: "package.json") platform :ios do lane :beta do get_certificates( output_path: 'certificates/' ) get_provisioning_profile( output_path: 'certificates/', filename: "provisioning.mobileprovision", fail_on_name_taken: true, ) update_code_signing_settings( use_automatic_signing: true, path: "ios/Fintunes.xcodeproj" ) increment_version_number( version_number: package["version"], xcodeproj: "ios/Fintunes.xcodeproj", ); increment_build_number( xcodeproj: "ios/Fintunes.xcodeproj", ) build_app( scheme: "Fintunes", output_directory: "build", workspace: "ios/Fintunes.xcworkspace", export_method: "app-store", ) upload_to_testflight build_number = get_build_number( xcodeproj: "ios/Fintunes.xcodeproj", ) Dir.chdir("..") do sh( "npx", "react-native", "bundle", "--dev", "false", "--platform", "ios", "--entry-file", "index.js", "--bundle-output", "build/index.ios.bundle", "--sourcemap-output", "build/index.ios.bundle.map" ) end sentry_create_release( version: "1.0+#{build_number}", app_identifier: 'nl.moeilijkedingen.jellyfinaudioplayer', finalize: true ) sentry_upload_dsym( dsym_path: 'build/Fintunes.app.dSYM.zip', info_plist: 'ios/Fintunes/Info.plist', ) sentry_upload_file( version: "1.0+#{build_number}", app_identifier: 'nl.moeilijkedingen.jellyfinaudioplayer', dist: build_number, file: 'build/index.ios.bundle', ) sentry_upload_sourcemap( version: "1.0+#{build_number}", app_identifier: 'nl.moeilijkedingen.jellyfinaudioplayer', dist: build_number, sourcemap: 'build/index.ios.bundle.map', rewrite: true ) end end platform :android do desc "Generate beta build" lane :beta do android_set_version_name( version_name: package['version'], gradle_file: "android/app/build.gradle" ) android_set_version_code( gradle_file: "android/app/build.gradle" ) gradle( task: "assembleRelease", project_dir: "android" ) end end