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/JellyfinAudioPlayer.xcodeproj" ) increment_version_number(version_number: package["version"]); increment_build_number( xcodeproj: "ios/JellyfinAudioPlayer.xcodeproj" ) build_app( scheme: "Jellyfin Player", output_directory: "build", workspace: "ios/JellyfinAudioPlayer.xcworkspace", export_method: "app-store", ) upload_to_testflight build_number = get_build_number( xcodeproj: "ios/JellyfinAudioPlayer.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/Jellyfin Player.app.dSYM.zip', info_plist: 'ios/JellyfinAudioPlayer/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 gradle( task: "assembleRelease", properties: { 'versionName' => package["version"], }, project_dir: "android" ) end end