xcframework_converter 0.3.1 → 0.3.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2df06815d507bcbbd8d8ea83882fe3c55463dcc9532063d4566f8d196e378ada
4
- data.tar.gz: f49c4301fb89b90b1e30e77cbee37e175ea1d432a1c104f62131d689857d0a58
3
+ metadata.gz: b4026adcb50f4a5beae016b1df87c2b95c84062d3ddb5f4aa480127ef334d0ef
4
+ data.tar.gz: 6b4b75587762fa609056196b16c2560065db7351924dafe4915ca158a10fb1d0
5
5
  SHA512:
6
- metadata.gz: bdcc77aeb67f7eb84dbb8c469186e27a730616f9fa2c51a9e6a7e9ca91f800b4563858c18fd3c93a91298b911241aad577f9e0ba8086ba198f19932368868701
7
- data.tar.gz: ea641b22490269b45530b719ca48435092055ed5515b8cce8fe7b9ddc866567a418bdb16d6b463b3482319c664cabd49253f963864a16bfa705fa5dd6ab4faf6
6
+ metadata.gz: c9460cf57bfb886843148ae1353759c57149ff4de6d1963f363e094354bf2290277e1c4bc409c259ee968a65cee3f97190754717d0a9ad4871dac957276705fe
7
+ data.tar.gz: 0c63408a190166c3f9ca44de4734497e91ff57c1574738647e3eebe7ca6a07deba9d6deacb16a9fcc04d8e39e7f80cd8989c3b8d146a5c501e6f796646a66d9b
data/lib/arm2sim.swift CHANGED
@@ -77,8 +77,10 @@ enum Transmogrifier {
77
77
 
78
78
  let offsetSections = sections.map { section -> section_64 in
79
79
  var section = section
80
- section.offset += UInt32(offset)
81
- section.reloff += section.reloff > 0 ? UInt32(offset) : 0
80
+ if section.flags != S_ZEROFILL {
81
+ section.offset += UInt32(offset)
82
+ section.reloff += section.reloff > 0 ? UInt32(offset) : 0
83
+ }
82
84
  return section
83
85
  }
84
86
 
@@ -56,7 +56,9 @@ module XCFrameworkConverter
56
56
  file = MachO::MachOFile.new(object_file)
57
57
  sdk_version = file[:LC_VERSION_MIN_IPHONEOS].first.version_string.to_i
58
58
  `xcrun swift \"#{arm2sim_path}\" \"#{object_file}\" \"#{sdk_version}\" \"#{sdk_version}\"`
59
+ $stderr.printf '.'
59
60
  end
61
+ $stderr.puts
60
62
  `cd \"#{extracted_path_dir}\" ; ar crv \"#{extracted_path}\" *.o`
61
63
 
62
64
  `xcrun lipo \"#{slice.binary_path}\" -replace arm64 \"#{extracted_path}\" -output \"#{slice.binary_path}\"`
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module XCFrameworkConverter
4
- VERSION = '0.3.1'
4
+ VERSION = '0.3.2'
5
5
  end
@@ -42,10 +42,12 @@ module XCFrameworkConverter
42
42
  before_rename.map { |f| pod_path.join(f) }
43
43
  end.flatten.uniq
44
44
 
45
- convert_xcframeworks_if_present(frameworks_to_convert)
45
+ remember_spec_as_patched(spec) unless frameworks_to_convert.empty?
46
46
 
47
47
  remove_troublesome_xcconfig_items(spec)
48
48
  end
49
+
50
+ warn "Specs with patched XCFrameworks: #{@patched_specs.sort.join(', ')}"
49
51
  end
50
52
 
51
53
  def convert_xcframeworks_if_present(frameworks_to_convert)
@@ -61,12 +63,27 @@ module XCFrameworkConverter
61
63
  end
62
64
 
63
65
  def remove_troublesome_xcconfig_items(spec)
64
- # some pods put these as a way to NOT support arm64 sim
65
- # may stop working if a pod decides to put these in a platform proxy
66
- spec.attributes_hash['pod_target_xcconfig']&.delete('EXCLUDED_ARCHS[sdk=iphonesimulator*]')
67
- spec.attributes_hash['user_target_xcconfig']&.delete('EXCLUDED_ARCHS[sdk=iphonesimulator*]')
68
- spec.attributes_hash['pod_target_xcconfig']&.delete('VALID_ARCHS[sdk=iphonesimulator*]')
69
- spec.attributes_hash['user_target_xcconfig']&.delete('VALID_ARCHS[sdk=iphonesimulator*]')
66
+ xcconfigs = %w[
67
+ pod_target_xcconfig
68
+ user_target_xcconfig
69
+ ].map { |key| spec.attributes_hash[key] }.compact
70
+
71
+ xcconfigs.each do |xcconfig|
72
+ # some pods put these as a way to NOT support arm64 sim
73
+ # may stop working if a pod decides to put these in a platform proxy
74
+ excluded_arm = xcconfig['EXCLUDED_ARCHS[sdk=iphonesimulator*]']&.include?('arm64')
75
+ not_inlcuded_arm = xcconfig['VALID_ARCHS[sdk=iphonesimulator*]'] && !xcconfig['VALID_ARCHS[sdk=iphonesimulator*]'].include?('arm64')
76
+
77
+ remember_spec_as_patched(spec) if excluded_arm || not_inlcuded_arm
78
+
79
+ xcconfig.delete('EXCLUDED_ARCHS[sdk=iphonesimulator*]')
80
+ xcconfig.delete('VALID_ARCHS[sdk=iphonesimulator*]')
81
+ end
82
+ end
83
+
84
+ def remember_spec_as_patched(spec)
85
+ @patched_specs ||= Set.new
86
+ @patched_specs << spec.root.name
70
87
  end
71
88
  end
72
89
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: xcframework_converter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Igor Makarov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-01-18 00:00:00.000000000 Z
11
+ date: 2022-01-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cocoapods