2929 opt . on ( '--file_ext FILE_EXT' ) { |o | options [ :file_ext ] = o }
3030end . parse!
3131sdk = options [ :sdk ]
32- target = options [ :target ]
32+ target_name = options [ :target ]
3333framework_path = options [ :framework_path ]
3434source_tree = options [ :source_tree ]
3535file_ext = options [ :file_ext ]
3636project_path = "#{ sdk } Example.xcodeproj"
3737project = Xcodeproj ::Project . open ( project_path )
38+
39+ # Find the target.
40+ target = project . targets . find { |t | t . name == target_name }
41+
42+ # Check if the target exists.
43+ unless target
44+ STDERR . puts "Error: Target '#{ target_name } ' not found in project '#{ project_path } '."
45+ exit 1
46+ end
47+
3848project_framework_group = project . frameworks_group
3949
4050def add_ref ( group , path , source_tree , phase_list )
@@ -56,40 +66,31 @@ def add_ref(group, path, source_tree, phase_list)
5666
5767if File . directory? ( framework_path )
5868 if framework_path . end_with? ( "bundle" )
59- project . targets . each do |project_target |
60- next unless project_target . name == target
61- puts "The following bundle is added to #{ project_target } "
62- add_ref ( project . main_group ,
63- framework_path ,
64- source_tree ,
65- [ project_target . resources_build_phase ] )
66- end
69+ puts "The following bundle is added to #{ target . name } "
70+ add_ref ( project . main_group ,
71+ framework_path ,
72+ source_tree ,
73+ [ target . resources_build_phase ] )
6774 else
6875 framework_group = Dir . glob ( File . join ( framework_path , "*.{#{ file_ext } }" ) )
6976
70- project . targets . each do |project_target |
71- next unless project_target . name == target
72- framework_set = project_target . frameworks_build_phase . files . to_set
73- puts "The following frameworks are added to #{ project_target } "
74- embed_frameworks_phase = project_target . new_copy_files_build_phase ( "Embed Frameworks" )
75- embed_frameworks_phase . dst_subfolder_spec = "10" # `Frameworks` directory
76- framework_group . each do |framework |
77- next if framework_set . size == framework_set . add ( framework ) . size
78- add_ref ( project_framework_group ,
79- framework ,
80- source_tree ,
81- [ project_target . frameworks_build_phase , embed_frameworks_phase ] )
82- end
77+ framework_set = target . frameworks_build_phase . files . to_set
78+ puts "The following frameworks are added to #{ target . name } "
79+ embed_frameworks_phase = target . new_copy_files_build_phase ( "Embed Frameworks" )
80+ embed_frameworks_phase . dst_subfolder_spec = "10" # `Frameworks` directory
81+ framework_group . each do |framework |
82+ next if framework_set . size == framework_set . add ( framework ) . size
83+ add_ref ( project_framework_group ,
84+ framework ,
85+ source_tree ,
86+ [ target . frameworks_build_phase , embed_frameworks_phase ] )
8387 end
8488 end
8589else
86- project . targets . each do |project_target |
87- next unless project_target . name == target
88- puts "The following file is added to #{ project_target } "
89- add_ref ( project_framework_group ,
90- framework_path ,
91- source_tree ,
92- [ project_target . frameworks_build_phase ] )
93- end
90+ puts "The following file is added to #{ target . name } "
91+ add_ref ( project_framework_group ,
92+ framework_path ,
93+ source_tree ,
94+ [ target . frameworks_build_phase ] )
9495end
9596project . save ( )
0 commit comments