class Jumpstarter::Xcode::EditTargetBundleID
Public Instance Methods
run!()
click to toggle source
# File lib/jumpstarter_core/xcode.rb, line 42 def run!() project = Xcodeproj::Project.open(@proj_path) unless project.root_object.attributes["TargetAttributes"] puts "Your file format is old, please update and try again" return false end target_dictionary = project.targets.map { |f| { name: f.name, uuid: f.uuid, build_configuration_list: f.build_configuration_list } } changed_targets = [] project.root_object.attributes["TargetAttributes"].each do |target, sett| found_target = target_dictionary.detect { |h| h[:uuid] == target } style_value = @code_sign_style == "manual" ? 'Manual' : 'Automatic' build_configuration_list = found_target[:build_configuration_list] build_configuration_list.set_setting("CODE_SIGN_STYLE", style_value) sett["ProvisioningStyle"] = style_value if not @team_id.empty? sett["DevelopmentTeam"] = @team_id build_configuration_list.set_setting("DEVELOPMENT_TEAM", @team_id) else teams = Jumpstarter::XCHelper.teams! puts "Provisioning Profile" puts options(teams) print "Please select the team for #{found_target[:name]}: " num = (STDIN.gets.chomp).to_i team = teams[num] build_configuration_list.set_setting("DEVELOPMENT_TEAM", team) end if @code_siging_identity build_configuration_list.set_setting("CODE_SIGN_IDENTITY", @code_siging_identity) end if @bundle_id build_configuration_list.set_setting("PRODUCT_BUNDLE_IDENTIFIER", @bundle_id) end changed_targets << found_target[:name] end project.save changed_targets.each do |target| puts "Updated Target: #{target}" end return true end