Module: XCJobs::Helper

Defined in:
lib/xcjobs/helper.rb

Class Method Summary collapse

Class Method Details

.extract_provisioning_profile(provisioning_profile) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/xcjobs/helper.rb', line 3

def self.extract_provisioning_profile(provisioning_profile)
  if File.file?(provisioning_profile)
    provisioning_profile_path = provisioning_profile
  else
    path = File.join("#{Dir.home}/Library/MobileDevice/Provisioning Profiles/", provisioning_profile)
    if File.file?(path)
      provisioning_profile_path = path
    end
  end
  if provisioning_profile_path
    out, status = Open3.capture2 %[/usr/libexec/PlistBuddy -c Print:UUID /dev/stdin <<< $(security cms -D -i "#{provisioning_profile_path}")]
    provisioning_profile_uuid = out.strip if status.success?

    out, status = Open3.capture2 %[/usr/libexec/PlistBuddy -c Print:Name /dev/stdin <<< $(security cms -D -i "#{provisioning_profile_path}")]
    provisioning_profile_name = out.strip if status.success?
  else
    provisioning_profile_name = provisioning_profile
  end
  [provisioning_profile_path, provisioning_profile_uuid, provisioning_profile_name]
end