Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- target 'quickdemo iOS' do
- pod 'UMengAnalytics-NO-IDFA'
- end
- pre_install do |installer|
- files = Dir.glob("*.xcodeproj")
- proj_file = files[0]
- app_project = Xcodeproj::Project.open(proj_file);
- add_system_frameworks(app_project, ["MediaPlayer", "GameController"])
- app_project.native_targets.each do |target|
- target.build_configurations.each do |config|
- config.build_settings['HEADER_SEARCH_PATHS'] = repair_config(config.build_settings['HEADER_SEARCH_PATHS'])
- config.build_settings['LIBRARY_SEARCH_PATHS'] = repair_config(config.build_settings['LIBRARY_SEARCH_PATHS'])
- config.build_settings['OTHER_LDFLAGS'] = repair_config(config.build_settings['OTHER_LDFLAGS'])
- end
- end
- app_project.save
- end
- post_install do |installer|
- end
- def repair_config(config)
- inherited = ['$(inherited)']
- ret = config == nil ? inherited : config
- if config.is_a?(Array)
- ret = config | inherited
- elsif config.is_a?(String)
- ret = ([config] - [""]) | inherited
- end
- return ret
- end
- def add_system_frameworks(project, names, optional = false)
- project.targets.each do |target|
- build_phase = target.frameworks_build_phase
- framework_group = project.frameworks_group
- names.each do |name|
- next if exist_framework?(build_phase, name)
- path = "System/Library/Frameworks/#{name}.framework"
- file_ref = framework_group.new_reference(path)
- file_ref.name = "#{name}.framework"
- file_ref.source_tree = 'SDKROOT'
- build_file = build_phase.add_file_reference(file_ref)
- if optional
- build_file.settings = { 'ATTRIBUTES' => ['Weak'] }
- end
- end
- end
- end
- def exist_framework?(build_phase, name)
- build_phase.files.each do |file|
- return true if file.file_ref.name == "#{name}.framework"
- end
- false
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement