class Xcadaptor::Project

Attributes

info_plist[R]
info_plist_path[R]
project[R]
targets[R]

Public Class Methods

new(*args) click to toggle source
# File lib/xcadaptor/project.rb, line 14
def initialize(*args)
   get_project 
end

Public Instance Methods

get_project_setting(key) click to toggle source

get project setting

# File lib/xcadaptor/project.rb, line 45
def get_project_setting(key)
   config_list = @project.build_configuration_list
   config_list.get_setting key
end
get_target_setting(target, key) click to toggle source

get target setting

# File lib/xcadaptor/project.rb, line 65
def get_target_setting(target, key)
   target_config_list = target.build_configuration_list
   target_config_list.get_setting key
end
save() click to toggle source

save your change

# File lib/xcadaptor/project.rb, line 89
def save 
  @project.save
  if @info_plist
    Xcodeproj::Plist.write_to_path @info_plist, self.info_plist_path 
  end 
end
set_all_target_setting(key,value) { |target , key| ... } click to toggle source

set project setting , block praram target key , return bool value

# File lib/xcadaptor/project.rb, line 72
def set_all_target_setting(key,value)
    is_ok = true

    config_list = @project.build_configuration_list
    project.targets.each do |target|
      if block_given? 
        is_ok = yield target , key 
      end
     
      if is_ok
        set_project_setting key ,value 
        set_target_setting target, key , value
      end
    end
end
set_project_setting(key,value) { |key| ... } click to toggle source

set project setting , block praram key , return bool value

# File lib/xcadaptor/project.rb, line 32
def set_project_setting(key,value)
  is_ok = true
  if block_given?
   is_ok = yield key
  end

  if is_ok
     config_list = @project.build_configuration_list
     config_list.set_setting key ,value
   end
end
set_target_setting(target,key,value) { |target, key| ... } click to toggle source

set project setting , block praram target key , return bool value

# File lib/xcadaptor/project.rb, line 52
def set_target_setting(target,key,value)
  is_ok = true
  if block_given?
   is_ok = yield target, key
  end

   if is_ok
     target_config_list = target.build_configuration_list
     target_config_list.set_setting(key, value)
   end 
end

Private Instance Methods

get_project() click to toggle source

get xcodeproj instance

# File lib/xcadaptor/project.rb, line 99
def get_project
  current_dir = Pathname.pwd
  Dir.foreach(current_dir) do |filename| 
    if filename.include? 'xcodeproj'
      @project_path = "#{current_dir}/#{filename}"
      @project_name = File.basename(filename) 
      @project = Xcodeproj::Project.open @project_path 
      return project
    end
  end
end