class Flappy::IpaInfo::App
Public Class Methods
new(path, is_stored = false)
click to toggle source
# File lib/flappy/util/ipa_info.rb, line 68 def initialize(path, is_stored = false) @path = path # app的路径 @is_stored = is_stored end
Public Instance Methods
basic_info()
click to toggle source
# File lib/flappy/util/ipa_info.rb, line 81 def basic_info @basic_info ||= { type: 'ios', identifier: identifier, name: name, display_name: display_name, build: version.to_s, version: short_version.to_s, devices: devices, release_type: release_type, distribution_name: distribution_name } end
devices()
click to toggle source
# File lib/flappy/util/ipa_info.rb, line 140 def devices mobileprovision['ProvisionedDevices'] if has_mobileprovision? end
display_name()
click to toggle source
# File lib/flappy/util/ipa_info.rb, line 108 def display_name info['CFBundleDisplayName'] end
distribution_name()
click to toggle source
# File lib/flappy/util/ipa_info.rb, line 148 def distribution_name "#{mobileprovision['Name']} - #{mobileprovision['TeamName']}" if has_mobileprovision? end
full_info(options)
click to toggle source
# File lib/flappy/util/ipa_info.rb, line 73 def full_info(options) # if options.fetch(:full_info, false) # basic_info.merge!(icons: tmp_icons) # end basic_info end
get_image_path(name)
click to toggle source
# File lib/flappy/util/ipa_info.rb, line 190 def get_image_path(name) path = File.join(@path, "#{name}.png") return nil unless File.exist?(path) path end
has_mobileprovision?()
click to toggle source
# File lib/flappy/util/ipa_info.rb, line 124 def has_mobileprovision? File.file? mobileprovision_path end
hide_developer_certificates()
click to toggle source
# File lib/flappy/util/ipa_info.rb, line 144 def hide_developer_certificates mobileprovision.delete('DeveloperCertificates') if has_mobileprovision? end
icons()
click to toggle source
# File lib/flappy/util/ipa_info.rb, line 166 def icons @icons ||= begin icons = [] info['CFBundleIcons']['CFBundlePrimaryIcon']['CFBundleIconFiles'].each do |name| icons << get_image_path(name) icons << get_image_path("#{name}@2x") icons << get_image_path("#{name}@3x") end icons.delete_if &:! rescue NoMethodError [] end begin info['CFBundleIcons~ipad']['CFBundlePrimaryIcon']['CFBundleIconFiles'].each do |name| icons << get_image_path("#{name}~ipad") icons << get_image_path("#{name}@2x~ipad") end icons.delete_if &:! rescue NoMethodError [] end end
identifier()
click to toggle source
# File lib/flappy/util/ipa_info.rb, line 100 def identifier info['CFBundleIdentifier'] end
info()
click to toggle source
# File lib/flappy/util/ipa_info.rb, line 95 def info @info ||= CFPropertyList.native_types( CFPropertyList::List.new(file: File.join(@path, 'Info.plist')).value) end
mobileprovision()
click to toggle source
# File lib/flappy/util/ipa_info.rb, line 128 def mobileprovision return unless has_mobileprovision? return @mobileprovision if @mobileprovision cmd = "security cms -D -i \"#{mobileprovision_path}\"" begin @mobileprovision = CFPropertyList.native_types(CFPropertyList::List.new(data: `#{cmd}`).value) rescue CFFormatError @mobileprovision = {} end end
mobileprovision_path()
click to toggle source
# File lib/flappy/util/ipa_info.rb, line 120 def mobileprovision_path @mobileprovision_path ||= File.join(@path, 'embedded.mobileprovision') end
name()
click to toggle source
# File lib/flappy/util/ipa_info.rb, line 104 def name info['CFBundleName'] end
release_type()
click to toggle source
# File lib/flappy/util/ipa_info.rb, line 152 def release_type if @is_stored 'Release' else if has_mobileprovision? if devices 'AdHoc' else 'InHouse' end end end end
short_version()
click to toggle source
# File lib/flappy/util/ipa_info.rb, line 116 def short_version info['CFBundleShortVersionString'] end
version()
click to toggle source
# File lib/flappy/util/ipa_info.rb, line 112 def version info['CFBundleVersion'] end