@@ -447,13 +447,18 @@ platform :ios do
447447 options.merge(match_type: " appstore" )
448448 )
449449
450+ increment_version_number(
451+ xcodeproj: " cmp-ios/iosApp.xcodeproj" ,
452+ version_number: " 1.0.0"
453+ )
454+
450455 latest_build_number = latest_testflight_build_number(
451456 app_identifier: options[:app_identifier ] || " com.example.9af3c1d2" ,
452457 api_key: Actions .lane_context[SharedValues ::APP_STORE_CONNECT_API_KEY ]
453458 )
454459
455460 increment_build_number(
456- xcodeproj: ios_config[ :project_path ] ,
461+ xcodeproj: " cmp-ios/iosApp.xcodeproj " ,
457462 build_number: latest_build_number + 1
458463 )
459464
@@ -468,6 +473,46 @@ platform :ios do
468473 skip_waiting_for_build_processing: true
469474 )
470475 end
476+
477+ desc " Upload iOS Application to AppStore"
478+ lane :release do |options |
479+
480+ setup_ci_if_needed
481+ load_api_key(options)
482+ fetch_certificates_with_match(
483+ options.merge(match_type: " appstore" )
484+ )
485+
486+ increment_version_number(
487+ xcodeproj: " cmp-ios/iosApp.xcodeproj" ,
488+ version_number: " 1.0.0"
489+ )
490+
491+ latest_build_number = latest_testflight_build_number(
492+ app_identifier: options[:app_identifier ] || " com.example.9af3c1d2" ,
493+ api_key: Actions .lane_context[SharedValues ::APP_STORE_CONNECT_API_KEY ]
494+ )
495+
496+ increment_build_number(
497+ xcodeproj: " cmp-ios/iosApp.xcodeproj" ,
498+ build_number: latest_build_number + 1
499+ )
500+
501+ build_ios_project(
502+ options.merge(
503+ provisioning_profile_name: " match AppStore com.example.9af3c1d2"
504+ )
505+ )
506+
507+ deliver(
508+ metadata_path: options[:metadata_path ] || " ./fastlane/metadata" ,
509+ automatic_release: false ,
510+ api_key: Actions .lane_context[SharedValues ::APP_STORE_CONNECT_API_KEY ],
511+ skip_app_version_update: true ,
512+ force: true ,
513+ precheck_include_in_app_purchases: false
514+ )
515+ end
471516end
472517```
473518
@@ -668,6 +713,7 @@ The workflow supports the following configuration inputs:
668713- ` publish_android ` : Publish to Play Store (Default: ` false ` )
669714- ` distribute_ios_firebase ` : Distribute iOS App via Firebase App Distribution (Default: ` false ` )
670715- ` distribute_ios_testflight ` : Distribute iOS App via TestFlight (Default: ` false ` )
716+ - ` distribute_ios_appstore ` : Distribute iOS App to Appstore (Default: ` false ` )
671717- ` publish_desktop ` : Publish Desktop Apps (Default: ` false ` )
672718- ` publish_web ` : Publish Web App (Default: ` true ` )
673719
744790 default : false
745791 description : Distribute iOS App via TestFlight (App Store Connect)
746792
793+ distribute_ios_appstore :
794+ type : boolean
795+ default : false
796+ description : Distribute iOS App to Appstore
797+
747798permissions :
748799 contents : write
749800 id-token : write
@@ -770,6 +821,7 @@ jobs:
770821 match_type : ' adhoc'
771822 provisioning_profile_name : ' match AdHoc org.mifos.kmp.template'
772823 firebase_app_id : ' 1:728434912738:ios:1d81f8e53ca7a6f31a1dbb'
824+ metadata_path : ' ./fastlane/metadata'
773825 publish_android : ${{ inputs.publish_android }}
774826 distribute_ios_firebase : ${{ inputs.distribute_ios_firebase }}
775827 distribute_ios_testflight : ${{ inputs.distribute_ios_testflight }}
0 commit comments