|  |  |  | @@ -7,70 +7,25 @@ platform :ios do | 
		
	
		
			
				|  |  |  |  |     app_store_connect_api_key( | 
		
	
		
			
				|  |  |  |  |       key_id: ENV["IOS_ASC_KEY_ID"], | 
		
	
		
			
				|  |  |  |  |       issuer_id: ENV["IOS_ASC_ISSUER_ID"], | 
		
	
		
			
				|  |  |  |  |       key_content: ENV["IOS_ASC_KEY_P8"], | 
		
	
		
			
				|  |  |  |  |       key_content: ENV["IOS_ASC_KEY"], | 
		
	
		
			
				|  |  |  |  |       is_key_content_base64: true, | 
		
	
		
			
				|  |  |  |  |       in_house: false | 
		
	
		
			
				|  |  |  |  |     ) | 
		
	
		
			
				|  |  |  |  |   end | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |   desc "Installs signing certificate in the keychain and downloads provisioning profiles from App Store Connect" | 
		
	
		
			
				|  |  |  |  |   lane :prepare_signing do |options| | 
		
	
		
			
				|  |  |  |  |     team_id = CredentialsManager::AppfileConfig.try_fetch_value(:team_id) | 
		
	
		
			
				|  |  |  |  |     api_key = lane_context[SharedValues::APP_STORE_CONNECT_API_KEY] | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |     keychain_name = "signing" | 
		
	
		
			
				|  |  |  |  |     keychain_password = "temp" | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |     delete_keychain( | 
		
	
		
			
				|  |  |  |  |       name: keychain_name | 
		
	
		
			
				|  |  |  |  |     ) if File.exist? File.expand_path("~/Library/Keychains/#{keychain_name}-db") | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |     create_keychain( | 
		
	
		
			
				|  |  |  |  |       name: keychain_name, | 
		
	
		
			
				|  |  |  |  |       password: keychain_password, | 
		
	
		
			
				|  |  |  |  |       default_keychain: true, | 
		
	
		
			
				|  |  |  |  |       unlock: true, | 
		
	
		
			
				|  |  |  |  |       timeout: 3600 | 
		
	
		
			
				|  |  |  |  |     ) | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |     import_certificate( | 
		
	
		
			
				|  |  |  |  |       certificate_path: ENV["SIGNING_KEY_FILE_PATH"], | 
		
	
		
			
				|  |  |  |  |       certificate_password: ENV["SIGNING_KEY_PASSWORD"], | 
		
	
		
			
				|  |  |  |  |       keychain_name: keychain_name, | 
		
	
		
			
				|  |  |  |  |       keychain_password: keychain_password | 
		
	
		
			
				|  |  |  |  |     ) | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |     # fetches and installs provisioning profiles from ASC | 
		
	
		
			
				|  |  |  |  |     sigh( | 
		
	
		
			
				|  |  |  |  |       adhoc: options[:adhoc], | 
		
	
		
			
				|  |  |  |  |       api_key: api_key, | 
		
	
		
			
				|  |  |  |  |       readonly: true | 
		
	
		
			
				|  |  |  |  |     ) | 
		
	
		
			
				|  |  |  |  |   end | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |   desc "Deploy a new version to closed testing (testflight)" | 
		
	
		
			
				|  |  |  |  |   lane :deploy_testing do | 
		
	
		
			
				|  |  |  |  |     build_name = ENV["BUILD_NAME"] | 
		
	
		
			
				|  |  |  |  |     build_number = ENV["BUILD_NUMBER"] | 
		
	
		
			
				|  |  |  |  |      | 
		
	
		
			
				|  |  |  |  |     app_identifier = CredentialsManager::AppfileConfig.try_fetch_value(:app_identifier) | 
		
	
		
			
				|  |  |  |  |      | 
		
	
		
			
				|  |  |  |  |     load_asc_api_token | 
		
	
		
			
				|  |  |  |  |     prepare_signing | 
		
	
		
			
				|  |  |  |  |     api_key = lane_context[SharedValues::APP_STORE_CONNECT_API_KEY] | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |     profile_name = "App Provisioning Profile" # replace with the name of the profile to use for the build | 
		
	
		
			
				|  |  |  |  |     output_name = "example-iOS" # specify the name of the .ipa file to generate | 
		
	
		
			
				|  |  |  |  |     export_method = "app-store" # specify the export method | 
		
	
		
			
				|  |  |  |  |      | 
		
	
		
			
				|  |  |  |  |     # turn off automatic signing during build so correct code signing identity is guaranteed to be used | 
		
	
		
			
				|  |  |  |  |     update_code_signing_settings( | 
		
	
		
			
				|  |  |  |  |       use_automatic_signing: false, | 
		
	
		
			
				|  |  |  |  |       targets: ["main-target"], # specify which targets to update code signing settings for | 
		
	
		
			
				|  |  |  |  |       code_sign_identity: "Apple Distribution", # replace with name of code signing identity if different | 
		
	
		
			
				|  |  |  |  |       bundle_identifier: app_identifier, | 
		
	
		
			
				|  |  |  |  |       profile_name: profile_name, | 
		
	
		
			
				|  |  |  |  |       build_configurations: ["Release"] # only toggle code signing settings for Release configurations | 
		
	
		
			
				|  |  |  |  |     sync_code_signing( | 
		
	
		
			
				|  |  |  |  |       api_key: api_key, | 
		
	
		
			
				|  |  |  |  |       type: "testflight", | 
		
	
		
			
				|  |  |  |  |       readonly: true, | 
		
	
		
			
				|  |  |  |  |     ) | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |  | 
		
	
	
		
			
				
					
					|  |  |  | @@ -87,10 +42,6 @@ platform :ios do | 
		
	
		
			
				|  |  |  |  |     build_app( | 
		
	
		
			
				|  |  |  |  |       skip_build_archive: true, | 
		
	
		
			
				|  |  |  |  |       archive_path: "../build/ios/archive/Runner.xcarchive" | 
		
	
		
			
				|  |  |  |  |       provisioningProfiles: { | 
		
	
		
			
				|  |  |  |  |         app_identifier => profile_name | 
		
	
		
			
				|  |  |  |  |       } | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |     ) | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |     upload_to_testflight | 
		
	
	
		
			
				
					
					|  |  |  | @@ -99,11 +50,12 @@ platform :ios do | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |   desc "Deploy a new version as a full release" | 
		
	
		
			
				|  |  |  |  |   lane :deploy_release do | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |     build_name = ENV["BUILD_NAME"] | 
		
	
		
			
				|  |  |  |  |     build_number = ENV["BUILD_NUMBER"] | 
		
	
		
			
				|  |  |  |  |      | 
		
	
		
			
				|  |  |  |  |     load_asc_api_token | 
		
	
		
			
				|  |  |  |  |     api_key = lane_context[SharedValues::APP_STORE_CONNECT_API_KEY] | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |     sync_code_signing( | 
		
	
		
			
				|  |  |  |  |       api_key: api_key, | 
		
	
		
			
				|  |  |  |  |       type: "appstore", | 
		
	
	
		
			
				
					
					|  |  |  | @@ -136,5 +88,4 @@ platform :ios do | 
		
	
		
			
				|  |  |  |  |       # automatically release the app after review | 
		
	
		
			
				|  |  |  |  |     ) | 
		
	
		
			
				|  |  |  |  |   end | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | end | 
		
	
	
		
			
				
					
					| 
							
							
							
						 |  |  |   |