class Fastlane::Actions::InstallProvisioningProfilesAction
Public Class Methods
available_options()
click to toggle source
# File lib/fastlane/plugin/install_provisioning_profiles/actions/install_provisioning_profiles_action.rb, line 76 def self.available_options [ FastlaneCore::ConfigItem.new( key: :override_provisioning_profiles, env_name: 'FL_INSTALL_PROVISIONING_PROFILES_OVERRIDE', description: 'Override existing provisioning profiles', is_string: false, optional: true, default_value: false ) ] end
copy_provisioning_profile(provisioning_profile, uuid)
click to toggle source
# File lib/fastlane/plugin/install_provisioning_profiles/actions/install_provisioning_profiles_action.rb, line 59 def self.copy_provisioning_profile(provisioning_profile, uuid) target_location = "#{target_directory}/#{uuid}.mobileprovision" FileUtils.cp(provisioning_profile, target_location) end
description()
click to toggle source
@!group Documentation
# File lib/fastlane/plugin/install_provisioning_profiles/actions/install_provisioning_profiles_action.rb, line 72 def self.description "Install all the provisioning profiles located in you're project." end
is_supported?(platform)
click to toggle source
# File lib/fastlane/plugin/install_provisioning_profiles/actions/install_provisioning_profiles_action.rb, line 93 def self.is_supported?(platform) platform == :ios end
locate_provisioning_profiles()
click to toggle source
# File lib/fastlane/plugin/install_provisioning_profiles/actions/install_provisioning_profiles_action.rb, line 47 def self.locate_provisioning_profiles Dir.glob("**/*.mobileprovision") end
retrieve_uuid(provisioning_profile)
click to toggle source
# File lib/fastlane/plugin/install_provisioning_profiles/actions/install_provisioning_profiles_action.rb, line 51 def self.retrieve_uuid(provisioning_profile) `security cms -D -i #{provisioning_profile.shellescape} | grep -A 1 '<key>UUID</key>' | tail -n 1 | grep -Eo '>.*<' | grep -Eo '[a-z0-9-]+'`.gsub("\n", "") end
run(params)
click to toggle source
# File lib/fastlane/plugin/install_provisioning_profiles/actions/install_provisioning_profiles_action.rb, line 7 def self.run(params) override_provisioning_profiles = params[:override_provisioning_profiles] UI.important("Installing provisioning profile") provisioning_profiles = locate_provisioning_profiles if provisioning_profiles.count == 0 UI.success("No provisioning profiles found") return end path = target_directory # If the directory doesn't exist, create it first unless File.directory?(path) FileUtils.mkdir_p(path) end provisioning_profiles.each do |provisioning_profile| # Show the provisioning profile basename UI.message("Provisioning Profile: #{File.basename provisioning_profile}") # Retrieve the UUID of the provisioning profile uuid = retrieve_uuid(provisioning_profile) # Check if the override_provisioning_profiles is disabled if override_provisioning_profiles == false if uuid_exist(uuid) next end end # Show the UUID of the provisioning profile UI.message("UUID: #{uuid}") # Copy the provisioning profile copy_provisioning_profile(provisioning_profile, uuid) end UI.success("Successfully installed provisioning profiles") end
target_directory()
click to toggle source
# File lib/fastlane/plugin/install_provisioning_profiles/actions/install_provisioning_profiles_action.rb, line 64 def self.target_directory File.expand_path("~/Library/MobileDevice/Provisioning Profiles") end
uuid_exist(uuid)
click to toggle source
# File lib/fastlane/plugin/install_provisioning_profiles/actions/install_provisioning_profiles_action.rb, line 55 def self.uuid_exist(uuid) File.exist?("#{target_directory}/#{uuid}.mobileprovision") end