# App Store Connect metadata for Project Velocity iPad. # Fastlane's TestFlight upload action consumes the metadata module below, while # deliver can still use the App Store Connect and export-compliance settings. module VelocityAppStoreConnectMetadata module_function def testflight_groups ENV.fetch("FASTLANE_TESTFLIGHT_GROUPS", "Velocity Investor Demo") .split(",") .map(&:strip) .reject(&:empty?) end def beta_app_review_info { contact_first_name: ENV.fetch("FASTLANE_BETA_CONTACT_FIRST_NAME", "Sayan"), contact_last_name: ENV.fetch("FASTLANE_BETA_CONTACT_LAST_NAME", "Desi Neuron"), contact_phone: ENV.fetch("FASTLANE_BETA_CONTACT_PHONE", "+919999999999"), contact_email: ENV.fetch("FASTLANE_BETA_CONTACT_EMAIL", "ops@desineuron.in"), demo_account_name: ENV.fetch("FASTLANE_BETA_DEMO_ACCOUNT", "demo@desineuron.in"), demo_account_password: ENV.fetch("FASTLANE_BETA_DEMO_PASSWORD", ""), notes: ENV.fetch( "FASTLANE_BETA_REVIEW_NOTES", "Please use the supplied demo account to validate Dashboard, Calendar, CRM Imports, Client 360, Oracle, Inventory, Sentinel, Communications, and Dream Weaver health states. The app is intended for managed iPad deployments for enterprise real estate sales teams." ) } end def localized_build_info { "default" => { whats_new: ENV.fetch( "FASTLANE_CHANGELOG", "Production candidate for investor demo validation with CRM, Oracle, Sentinel, Inventory, Communications, Calendar, and Dream Weaver workflows." ) } } end def localized_app_info { "default" => { feedback_email: ENV.fetch("FASTLANE_BETA_FEEDBACK_EMAIL", "ops@desineuron.in"), marketing_url: ENV.fetch("FASTLANE_MARKETING_URL", "https://velocity.desineuron.in"), privacy_policy_url: ENV.fetch("FASTLANE_PRIVACY_URL", "https://velocity.desineuron.in/privacy"), description: ENV.fetch( "FASTLANE_BETA_DESCRIPTION", "Velocity iPad is the native CRM, Oracle, Sentinel, Inventory, and Dream Weaver command center for enterprise real estate operators." ) } } end def submission_information { export_compliance_uses_encryption: false, export_compliance_contains_third_party_cryptography: false, export_compliance_contains_proprietary_cryptography: false, export_compliance_available_on_french_store: true, export_compliance_ccat_file: false, add_id_info_uses_idfa: false } end end def velocity_fastlane_config(method_name, *args) send(method_name, *args) if respond_to?(method_name) end velocity_fastlane_config(:app_identifier, "com.desineuron.velocity.ipad") velocity_fastlane_config(:username, ENV.fetch("FASTLANE_APPLE_ID", "")) velocity_fastlane_config(:team_id, ENV.fetch("FASTLANE_TEAM_ID", "L29922NHD9")) velocity_fastlane_config(:itc_team_id, ENV["FASTLANE_ITC_TEAM_ID"]) if ENV["FASTLANE_ITC_TEAM_ID"] velocity_fastlane_config(:app_platform, "ios") velocity_fastlane_config(:skip_screenshots, true) velocity_fastlane_config(:skip_binary_upload, true) velocity_fastlane_config(:skip_app_version_update, true) velocity_fastlane_config(:force, true) velocity_fastlane_config(:run_precheck_before_submit, false) velocity_fastlane_config(:submit_for_review, false) velocity_fastlane_config(:automatic_release, false) velocity_fastlane_config(:submission_information, VelocityAppStoreConnectMetadata.submission_information)