Class: ProvisionParser
- Inherits:
-
Object
- Object
- ProvisionParser
- Defined in:
- lib/ipa_utilities/Parsers.rb
Instance Method Summary collapse
- #apnsEnviroment ⇒ Object
- #appBundleID ⇒ Object
- #buildEnviroment ⇒ Object
- #certificates ⇒ Object
- #entitlementForSigning ⇒ Object
-
#initialize(provisionPath) ⇒ ProvisionParser
constructor
A new instance of ProvisionParser.
- #isAPNSandAppSameEnviroment ⇒ Object
- #isAPNSProduction ⇒ Object
- #isBuildDistro ⇒ Object
- #isBuildRelease ⇒ Object
- #parse ⇒ Object
- #provisionedDevices ⇒ Object
- #signingIdentities ⇒ Object
- #teamIdentifier ⇒ Object
- #teamName ⇒ Object
- #uuid ⇒ Object
Constructor Details
#initialize(provisionPath) ⇒ ProvisionParser
51 52 53 54 |
# File 'lib/ipa_utilities/Parsers.rb', line 51 def initialize provisionPath @provisionPath = provisionPath parse end |
Instance Method Details
#apnsEnviroment ⇒ Object
119 120 121 |
# File 'lib/ipa_utilities/Parsers.rb', line 119 def apnsEnviroment isAPNSProduction ? "Production" : "Development (Sandbox)" end |
#appBundleID ⇒ Object
105 106 107 108 109 |
# File 'lib/ipa_utilities/Parsers.rb', line 105 def appBundleID var = @data["Entitlements"]["application-identifier"] var.slice!(@data["TeamIdentifier"].first + ".") var end |
#buildEnviroment ⇒ Object
123 124 125 126 127 128 129 |
# File 'lib/ipa_utilities/Parsers.rb', line 123 def buildEnviroment if isBuildRelease isBuildDistro ? "Distribution" : "AdHoc" else "Development" end end |
#certificates ⇒ Object
81 82 83 |
# File 'lib/ipa_utilities/Parsers.rb', line 81 def certificates @data["DeveloperCertificates"] end |
#entitlementForSigning ⇒ Object
131 132 133 134 135 136 |
# File 'lib/ipa_utilities/Parsers.rb', line 131 def entitlementForSigning filePath = File. "#{__FILE__}/../../resources/Original.Entitlements.plist" file = File.read filePath file.sub! "BUNDLE_ID", "#{teamIdentifier}.#{appBundleID}" file.sub! "GET_TASK_ALLOW", isBuildRelease ? "false" : "true" end |
#isAPNSandAppSameEnviroment ⇒ Object
101 102 103 |
# File 'lib/ipa_utilities/Parsers.rb', line 101 def isAPNSandAppSameEnviroment isBuildRelease == isAPNSProduction end |
#isAPNSProduction ⇒ Object
89 90 91 |
# File 'lib/ipa_utilities/Parsers.rb', line 89 def isAPNSProduction @data["Entitlements"]["aps-environment"] == "production" end |
#isBuildDistro ⇒ Object
97 98 99 |
# File 'lib/ipa_utilities/Parsers.rb', line 97 def isBuildDistro @data["ProvisionedDevices"].nil? end |
#isBuildRelease ⇒ Object
93 94 95 |
# File 'lib/ipa_utilities/Parsers.rb', line 93 def isBuildRelease @data["Entitlements"]["get-task-allow"] == false end |
#parse ⇒ Object
56 57 58 59 60 61 62 63 64 |
# File 'lib/ipa_utilities/Parsers.rb', line 56 def parse # read mobileprovision and convert it to plist `security cms -D -i #{@provisionPath} > tmp.plist` # Get info from plist plist = CFPropertyList::List.new plist = CFPropertyList::List.new(:file => "tmp.plist") @data = CFPropertyList.native_types(plist.value) end |
#provisionedDevices ⇒ Object
85 86 87 |
# File 'lib/ipa_utilities/Parsers.rb', line 85 def provisionedDevices @data["ProvisionedDevices"] end |
#signingIdentities ⇒ Object
70 71 72 73 74 75 76 77 78 79 |
# File 'lib/ipa_utilities/Parsers.rb', line 70 def signingIdentities arr = [] certificates.each do |var| arr << PemParser.signingIdentitiesWithBase64(Base64.encode64(var)) end arr end |
#teamIdentifier ⇒ Object
115 116 117 |
# File 'lib/ipa_utilities/Parsers.rb', line 115 def teamIdentifier @data["Entitlements"]["com.apple.developer.team-identifier"] end |
#teamName ⇒ Object
111 112 113 |
# File 'lib/ipa_utilities/Parsers.rb', line 111 def teamName @data["TeamName"] end |
#uuid ⇒ Object
66 67 68 |
# File 'lib/ipa_utilities/Parsers.rb', line 66 def uuid @data["UUID"] end |