Module: PrivacyModule
- Defined in:
- lib/cocoapods-privacy/privacy/PrivacyModule.rb
Class Method Summary collapse
Class Method Details
.load_module(podspec_file_path) ⇒ Object
处理组件
52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
# File 'lib/cocoapods-privacy/privacy/PrivacyModule.rb', line 52 def self.load_module(podspec_file_path) specManager = BB::BBSpecManager.new(KSpecTypePrivacy) puts "👇👇👇👇👇👇 Start analysis component privacy 👇👇👇👇👇👇" PrivacyLog.clean_result_log() privacy_hash = specManager.check(podspec_file_path) privacy_hash.each do |privacy_file_path, hash| PrivacyLog.write_to_result_log("#{privacy_file_path}: \n") source_files = hash[KSource_Files_Key] exclude_files = hash[KExclude_Files_Key] data = PrivacyHunter.search_pricacy_apis(source_files,exclude_files) PrivacyHunter.write_to_privacy(data,privacy_file_path) unless data.empty? end PrivacyLog.result_log_tip() puts "👆👆👆👆👆👆 End analysis component privacy 👆👆👆👆👆👆" end |
.load_project(folds, exclude_folds) ⇒ Object
处理工程
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/cocoapods-privacy/privacy/PrivacyModule.rb', line 11 def self.load_project(folds,exclude_folds) project_path = PrivacyUtils.project_path() resources_folder_path = File.join(File.basename(project_path, File.extname(project_path)),'Resources') privacy_file_path = File.join(resources_folder_path,PrivacyUtils.privacy_name) # 如果隐私文件不存在,创建隐私协议模版 unless File.exist?(privacy_file_path) PrivacyUtils.create_privacy_if_empty(privacy_file_path) end # 如果没有隐私文件,那么新建一个添加到工程中 # 打开 Xcode 项目,在Resources 下创建 project = Xcodeproj::Project.open(File.basename(project_path)) main_group = project.main_group resources_group = main_group.find_subpath('Resources',false) if resources_group.nil? resources_group = main_group.new_group('Resources',resources_folder_path) end # 如果不存在引用,创建新的引入xcode引用 if resources_group.find_file_by_path(PrivacyUtils.privacy_name).nil? privacy_file_ref = resources_group.new_reference(PrivacyUtils.privacy_name,:group) privacy_file_ref.last_known_file_type = 'text.xml' target = project.targets.first resources_build_phase = target.resources_build_phase resources_build_phase.add_file_reference(privacy_file_ref) # 将文件引用添加到 resources 构建阶段中 # target.add_file_references([privacy_file_ref]) # 将文件引用添加到 target 中 # resources_group.new_file(privacy_file_path) end project.save # 开始检索api,并返回json 字符串数据 PrivacyLog.clean_result_log() json_data = PrivacyHunter.search_pricacy_apis(folds,exclude_folds) # 将数据写入隐私清单文件 PrivacyHunter.write_to_privacy(json_data,privacy_file_path) PrivacyLog.result_log_tip() end |