class Dynamictostatic::Converter

Attributes

framework_target_name[R]
xcodeproj_path[R]

Public Class Methods

new(options) click to toggle source
# File lib/dynamictostatic.rb, line 13
def initialize(options)
        @framework_target_name = options.fetch(:framework_target_name)
        @xcodeproj_path = options.fetch(:xcodeproj_path)
end
perform(options) click to toggle source
# File lib/dynamictostatic.rb, line 9
def self.perform(options)
        new(options).perform
end

Public Instance Methods

run() click to toggle source
# File lib/dynamictostatic.rb, line 18
def run
        @project = Xcodeproj::Project.open(@xcodeproj_path)
        framework_target = @project.native_targets.find { |target| target.name == @framework_target_name }

        framework_target.build_configuration_list.build_configurations.each do |build_config|
                build_config.build_settings['MACH_O_TYPE'] = "staticlib"
                build_config.build_settings['ONLY_ACTIVE_ARCH'] = "NO"
                build_config.build_settings['INSTALL_PATH'] = "/usr/local/lib"
                build_config.build_settings['LD_DYLIB_INSTALL_NAME'] = ""
                build_config.build_settings['DYLIB_INSTALL_NAME_BASE'] = ""
                build_config.build_settings['OTHER_LDFLAGS'] = "$(inherited) -ObjC"
                build_config.build_settings['LD_RUNPATH_SEARCH_PATHS'] = "$(inherited)"
                build_config.build_settings['CLANG_ENABLE_MODULE_DEBUGGING'] = "NO"
                build_config.build_settings['DEAD_CODE_STRIPPING'] = "NO"
                build_config.build_settings['COPY_PHASE_STRIP'] = "NO"
                build_config.build_settings['STRIP_STYLE'] = "debugging"
    build_config.build_settings['GCC_INLINES_ARE_PRIVATE_EXTERN'] = "NO"
    build_config.build_settings['STRIP_INSTALLED_PRODUCT'] = "NO"
                if build_config.name == 'Release'
                        build_config.build_settings['CLANG_ENABLE_CODE_COVERAGE'] = "NO"
                end
        end
        @project.save

end