Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 5b827d2

Browse files
committed
Add support for framework based pods
1 parent a6d09f0 commit 5b827d2

File tree

1 file changed

+9
-7
lines changed

1 file changed

+9
-7
lines changed

lib/installer.rb

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,10 @@ def install!
1717

1818
keys_folder = File.join(@sandbox_root, 'Keys')
1919
keys_headers_folder = File.join(@sandbox_root, 'Headers', 'Public', 'CocoaPods-Keys')
20-
interface_file = File.join(keys_headers_folder, key_master.name + '.h')
20+
interface_name = key_master.name + '.h'
21+
interface_file = File.join(keys_headers_folder, interface_name)
2122
implementation_file = File.join(keys_folder, key_master.name + '.m')
23+
2224
Dir.mkdir keys_folder unless Dir.exists? keys_folder
2325
Dir.mkdir keys_headers_folder unless Dir.exists? keys_headers_folder
2426
File.open(interface_file, 'w') { |f| f.write(key_master.interface) }
@@ -27,21 +29,21 @@ def install!
2729
project = Xcodeproj::Project.open File.join(@sandbox_root, 'Pods.xcodeproj')
2830

2931
group = project.new_group('Keys')
30-
group.new_file(interface_file)
32+
interface = group.new_file(interface_file)
3133
implementation = group.new_file(implementation_file)
3234

3335
pods_target = project.targets.detect { |t| t.name == 'Pods' }
3436
unless pods_target
3537
pods_target = project.targets.detect { |t| t.name == 'Pods-' + keyring.name }
3638
end
3739

40+
pods_target.add_file_references [implementation]
41+
3842
# Swift Pod support
3943
if pods_target.product_type == "com.apple.product-type.framework"
40-
headers_build_phase = pods_target.build_phases.detect { |t| t.isa == 'PBXHeadersBuildPhase' }
41-
pods_target.add_file_references [implementation]
42-
43-
else
44-
pods_target.add_file_references [implementation]
44+
pods_target.add_file_references [interface]
45+
header_ref = pods_target.headers_build_phase.files[-1]
46+
header_ref.settings = { "ATTRIBUTES" => ["Public"] }
4547
end
4648

4749
project.save

0 commit comments

Comments
 (0)