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
42 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 42 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 if path != destination # copy to Xcode provisioning profile directory FileUtils.copy(path, destination) unless File.exist?(destination) raise "Failed installation of provisioning profile at location: '#{destination}'".red end end true 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 |
# 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 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.
37 38 39 |
# File 'lib/fastlane_core/provisioning_profile.rb', line 37 def uuid(path) parse(path).fetch("UUID") end |