Class: FastlaneCore::ProvisioningProfile
- Inherits:
-
Object
- Object
- FastlaneCore::ProvisioningProfile
- Defined in:
- lib/fastlane_core/provisioning_profile.rb
Class Method Summary collapse
-
.install(path) ⇒ Object
Installs a provisioning profile for Xcode to use.
-
.parse(path) ⇒ Hash
The hash with the data of the provisioning profile.
-
.uuid(path) ⇒ String
The UUID of the given provisioning profile.
Class Method Details
.install(path) ⇒ Object
Installs a provisioning profile for Xcode to use
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
# File 'lib/fastlane_core/provisioning_profile.rb', line 43 def install(path) Helper.log.info "Installing provisioning profile..." profile_path = File.("~") + "/Library/MobileDevice/Provisioning Profiles/" profile_filename = uuid(path) + ".mobileprovision" destination = profile_path + profile_filename # If the directory doesn't exist, create it first unless File.directory?(profile_path) FileUtils.mkdir_p(profile_path) end # copy to Xcode provisioning profile directory FileUtils.copy(path, destination) if File.exists?(destination) return true else raise "Failed installation of provisioning profile at location: #{destination}".red end end |
.parse(path) ⇒ Hash
Returns The hash with the data of the provisioning profile.
24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/fastlane_core/provisioning_profile.rb', line 24 def parse(path) require 'plist' plist = Plist::parse_xml(`security cms -D -i '#{path}'`) if (plist || []).count > 5 Helper.log.info("Provisioning profile of app '#{plist['AppIDName']}' with the name '#{plist['Name']}' successfully analysed.".green) plist else Helper.log.error("Error parsing provisioning profile at path '#{path}'".red) nil end end |
.uuid(path) ⇒ String
Returns The UUID of the given provisioning profile.
38 39 40 |
# File 'lib/fastlane_core/provisioning_profile.rb', line 38 def uuid(path) parse(path).fetch("UUID") end |