cocoapods 1.11.0.beta.1 → 1.11.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +60 -0
- data/lib/cocoapods/gem_version.rb +1 -1
- data/lib/cocoapods/generator/copy_xcframework_script.rb +3 -31
- data/lib/cocoapods/installer/project_cache/target_cache_key.rb +5 -2
- data/lib/cocoapods/installer/user_project_integrator/target_integrator.rb +59 -20
- data/lib/cocoapods/installer/xcode/pods_project_generator/app_host_installer.rb +2 -1
- data/lib/cocoapods/installer/xcode/pods_project_generator/pod_target_integrator.rb +6 -6
- data/lib/cocoapods/installer/xcode/pods_project_generator/target_installer_helper.rb +9 -3
- data/lib/cocoapods/sandbox/file_accessor.rb +11 -5
- data/lib/cocoapods/sources_manager.rb +5 -2
- data/lib/cocoapods/target/aggregate_target.rb +1 -1
- data/lib/cocoapods/target/pod_target.rb +1 -1
- data/lib/cocoapods/validator.rb +12 -3
- metadata +7 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 13b8afbc6a86002603657c70845d730e56705ce8d220c63949cd72b5b6b6cbe9
|
4
|
+
data.tar.gz: cbaca99762be90fc614455732acb9e1f3ed9d4c0ea1890a76983fcf4adfcaf6d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2c0be8b7faa61f7bd79a17e9bd9d768f32ae534c51ce2a7d295e0d187a7c195470a250d283013b26c258f577ae3795f2038508a2627d676ecb21930b1e46b747
|
7
|
+
data.tar.gz: 45c4012f332e01e96c8140a3e41da6e245550b984d58012921b5fca2f76ea039b9d20cee0d67b9fdba0979bf4d2987af755d66be1204e0b73a4ef5340c105ab1
|
data/CHANGELOG.md
CHANGED
@@ -4,6 +4,66 @@ To install or update CocoaPods see this [guide](https://guides.cocoapods.org/usi
|
|
4
4
|
|
5
5
|
To install release candidates run `[sudo] gem install cocoapods --pre`
|
6
6
|
|
7
|
+
## 1.11.1 (2021-09-13)
|
8
|
+
|
9
|
+
##### Enhancements
|
10
|
+
|
11
|
+
* None.
|
12
|
+
|
13
|
+
##### Bug Fixes
|
14
|
+
|
15
|
+
* Handle spec repo urls with user info when determining if they are CDN.
|
16
|
+
[Dimitris Koutsogiorgas](https://github.com/dnkoutso)
|
17
|
+
[#10941](https://github.com/CocoaPods/CocoaPods/issues/10941)
|
18
|
+
|
19
|
+
* Set `INFOPLIST_FILE` build setting to `$(SRCROOT)/App/App-Info.plist` during lint.
|
20
|
+
[Dimitris Koutsogiorgas](https://github.com/dnkoutso)
|
21
|
+
[#10927](https://github.com/CocoaPods/CocoaPods/issues/10927)
|
22
|
+
|
23
|
+
* Set `PRODUCT_BUNDLE_IDENTIFIER` for generated app during lint.
|
24
|
+
[Dimitris Koutsogiorgas](https://github.com/dnkoutso)
|
25
|
+
[#10933](https://github.com/CocoaPods/CocoaPods/issues/10933)
|
26
|
+
|
27
|
+
|
28
|
+
## 1.11.0 (2021-09-01)
|
29
|
+
|
30
|
+
##### Enhancements
|
31
|
+
|
32
|
+
* None.
|
33
|
+
|
34
|
+
##### Bug Fixes
|
35
|
+
|
36
|
+
* None.
|
37
|
+
|
38
|
+
|
39
|
+
## 1.11.0.rc.1 (2021-08-25)
|
40
|
+
|
41
|
+
##### Enhancements
|
42
|
+
|
43
|
+
* None.
|
44
|
+
|
45
|
+
##### Bug Fixes
|
46
|
+
|
47
|
+
* Correctly process multiple `xcframeworks` a pod provides.
|
48
|
+
[Dimitris Koutsogiorgas](https://github.com/dnkoutso)
|
49
|
+
[#10378](https://github.com/CocoaPods/CocoaPods/issues/10378)
|
50
|
+
|
51
|
+
|
52
|
+
## 1.11.0.beta.2 (2021-08-11)
|
53
|
+
|
54
|
+
##### Enhancements
|
55
|
+
|
56
|
+
* Integrate ODR categories into projects.
|
57
|
+
[Dimitris Koutsogiorgas](https://github.com/dnkoutso)
|
58
|
+
[#10855](https://github.com/CocoaPods/CocoaPods/pull/10855)
|
59
|
+
|
60
|
+
##### Bug Fixes
|
61
|
+
|
62
|
+
* Pass correct paths for `select_slice` method.
|
63
|
+
[Dimitris Koutsogiorgas](https://github.com/dnkoutso)
|
64
|
+
[#10430](https://github.com/CocoaPods/CocoaPods/issues/10430)
|
65
|
+
|
66
|
+
|
7
67
|
## 1.11.0.beta.1 (2021-08-09)
|
8
68
|
|
9
69
|
##### Enhancements
|
@@ -70,8 +70,8 @@ copy_dir()
|
|
70
70
|
local destination="$2"
|
71
71
|
|
72
72
|
# Use filter instead of exclude so missing patterns don't throw errors.
|
73
|
-
echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter \\"- CVS/\\" --filter \\"- .svn/\\" --filter \\"- .git/\\" --filter \\"- .hg/\\" \\"${source}
|
74
|
-
rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" "${source}" "${destination}"
|
73
|
+
echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter \\"- CVS/\\" --filter \\"- .svn/\\" --filter \\"- .git/\\" --filter \\"- .hg/\\" \\"${source}*\\" \\"${destination}\\""
|
74
|
+
rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" "${source}"/* "${destination}"
|
75
75
|
}
|
76
76
|
|
77
77
|
SELECT_SLICE_RETVAL=""
|
@@ -130,38 +130,11 @@ select_slice() {
|
|
130
130
|
done
|
131
131
|
}
|
132
132
|
|
133
|
-
install_library() {
|
134
|
-
local source="$1"
|
135
|
-
local name="$2"
|
136
|
-
local destination="#{Target::BuildSettings::XCFRAMEWORKS_BUILD_DIR_VARIABLE}/${name}"
|
137
|
-
|
138
|
-
# Libraries can contain headers, module maps, and a binary, so we'll copy everything in the folder over
|
139
|
-
|
140
|
-
local source="$binary"
|
141
|
-
echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter \\"- CVS/\\" --filter \\"- .svn/\\" --filter \\"- .git/\\" --filter \\"- .hg/\\" \\"${source}/*\\" \\"${destination}\\""
|
142
|
-
rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" "${source}/*" "${destination}"
|
143
|
-
}
|
144
|
-
|
145
|
-
# Copies a framework to derived data for use in later build phases
|
146
|
-
install_framework()
|
147
|
-
{
|
148
|
-
local source="$1"
|
149
|
-
local name="$2"
|
150
|
-
local destination="#{Pod::Target::BuildSettings::XCFRAMEWORKS_BUILD_DIR_VARIABLE}/${name}"
|
151
|
-
|
152
|
-
if [ ! -d "$destination" ]; then
|
153
|
-
mkdir -p "$destination"
|
154
|
-
fi
|
155
|
-
|
156
|
-
copy_dir "$source" "$destination"
|
157
|
-
echo "Copied $source to $destination"
|
158
|
-
}
|
159
|
-
|
160
133
|
install_xcframework() {
|
161
134
|
local basepath="$1"
|
162
135
|
local name="$2"
|
163
136
|
local package_type="$3"
|
164
|
-
local paths=("
|
137
|
+
local paths=("${@:4}")
|
165
138
|
|
166
139
|
# Locate the correct slice of the .xcframework for the current architectures
|
167
140
|
select_slice "${paths[@]}"
|
@@ -179,7 +152,6 @@ install_xcframework() {
|
|
179
152
|
fi
|
180
153
|
|
181
154
|
copy_dir "$source/" "$destination"
|
182
|
-
|
183
155
|
echo "Copied $source to $destination"
|
184
156
|
}
|
185
157
|
|
@@ -162,8 +162,11 @@ module Pod
|
|
162
162
|
'BUILD_SETTINGS_CHECKSUM' => build_settings,
|
163
163
|
}
|
164
164
|
if aggregate_target.includes_resources? || aggregate_target.includes_on_demand_resources?
|
165
|
-
|
166
|
-
|
165
|
+
relative_resource_file_paths = aggregate_target.resource_paths_by_config.values.flatten.uniq
|
166
|
+
relative_on_demand_resource_file_paths = aggregate_target.on_demand_resources.map do |res|
|
167
|
+
res.relative_path_from(sandbox.project_path.dirname).to_s
|
168
|
+
end
|
169
|
+
contents['FILES'] = (relative_resource_file_paths + relative_on_demand_resource_file_paths).sort_by(&:downcase)
|
167
170
|
end
|
168
171
|
TargetCacheKey.new(sandbox, :aggregate, contents)
|
169
172
|
end
|
@@ -32,7 +32,8 @@ module Pod
|
|
32
32
|
# For messages extensions, this only applies if it's embedded in a messages
|
33
33
|
# application.
|
34
34
|
#
|
35
|
-
EMBED_FRAMEWORK_TARGET_TYPES = [:application, :application_on_demand_install_capable, :unit_test_bundle,
|
35
|
+
EMBED_FRAMEWORK_TARGET_TYPES = [:application, :application_on_demand_install_capable, :unit_test_bundle,
|
36
|
+
:ui_test_bundle, :watch2_extension, :messages_application].freeze
|
36
37
|
|
37
38
|
# @return [String] the name of the embed frameworks phase
|
38
39
|
#
|
@@ -457,9 +458,9 @@ module Pod
|
|
457
458
|
#
|
458
459
|
# @return [void]
|
459
460
|
#
|
460
|
-
def
|
461
|
-
|
462
|
-
|
461
|
+
def update_on_demand_resources(sandbox, project, native_targets, file_accessors, parent_odr_group,
|
462
|
+
target_odr_group_name)
|
463
|
+
category_to_tags = {}
|
463
464
|
file_accessors = Array(file_accessors)
|
464
465
|
native_targets = Array(native_targets)
|
465
466
|
|
@@ -469,8 +470,9 @@ module Pod
|
|
469
470
|
old_odr_file_refs = old_target_odr_group&.recursive_children_groups&.each_with_object({}) do |group, hash|
|
470
471
|
hash[group.name] = group.files
|
471
472
|
end || {}
|
472
|
-
native_targets.each do |
|
473
|
-
|
473
|
+
native_targets.each do |native_target|
|
474
|
+
native_target.remove_on_demand_resources(old_odr_file_refs)
|
475
|
+
update_on_demand_resources_build_settings(native_target, nil => old_odr_file_refs.keys)
|
474
476
|
end
|
475
477
|
old_target_odr_group&.remove_from_project
|
476
478
|
return
|
@@ -480,17 +482,18 @@ module Pod
|
|
480
482
|
current_file_refs = target_odr_group.recursive_children_groups.flat_map(&:files)
|
481
483
|
|
482
484
|
added_file_refs = file_accessors.flat_map do |file_accessor|
|
483
|
-
target_odr_files_refs = Hash[file_accessor.on_demand_resources.map do |tag,
|
485
|
+
target_odr_files_refs = Hash[file_accessor.on_demand_resources.map do |tag, value|
|
484
486
|
tag_group = target_odr_group[tag] || target_odr_group.new_group(tag)
|
485
|
-
|
486
|
-
|
487
|
+
category_to_tags[value[:category]] ||= []
|
488
|
+
category_to_tags[value[:category]] << tag
|
489
|
+
resources_file_refs = value[:paths].map do |resource|
|
487
490
|
odr_resource_file_ref = Pathname.new(resource).relative_path_from(sandbox.root)
|
488
491
|
tag_group.find_file_by_path(odr_resource_file_ref.to_s) || tag_group.new_file(odr_resource_file_ref)
|
489
492
|
end
|
490
493
|
[tag, resources_file_refs]
|
491
494
|
end]
|
492
|
-
native_targets.each do |
|
493
|
-
|
495
|
+
native_targets.each do |native_target|
|
496
|
+
native_target.add_on_demand_resources(target_odr_files_refs)
|
494
497
|
end
|
495
498
|
target_odr_files_refs.values.flatten
|
496
499
|
end
|
@@ -506,10 +509,42 @@ module Pod
|
|
506
509
|
end
|
507
510
|
target_odr_group.recursive_children_groups.each { |g| g.remove_from_project if g.empty? }
|
508
511
|
|
509
|
-
|
510
|
-
|
511
|
-
|
512
|
-
|
512
|
+
attributes = project.root_object.attributes
|
513
|
+
attributes['KnownAssetTags'] = (attributes['KnownAssetTags'] ||= []) | category_to_tags.values.flatten
|
514
|
+
project.root_object.attributes = attributes
|
515
|
+
|
516
|
+
native_targets.each do |native_target|
|
517
|
+
update_on_demand_resources_build_settings(native_target, category_to_tags)
|
518
|
+
end
|
519
|
+
end
|
520
|
+
|
521
|
+
def update_on_demand_resources_build_settings(native_target, category_to_tags)
|
522
|
+
%w[ON_DEMAND_RESOURCES_INITIAL_INSTALL_TAGS ON_DEMAND_RESOURCES_PREFETCH_ORDER].each do |category_key|
|
523
|
+
native_target.build_configurations.each do |c|
|
524
|
+
key = case category_key
|
525
|
+
when 'ON_DEMAND_RESOURCES_INITIAL_INSTALL_TAGS'
|
526
|
+
:initial_install
|
527
|
+
when 'ON_DEMAND_RESOURCES_PREFETCH_ORDER'
|
528
|
+
:prefetched
|
529
|
+
else
|
530
|
+
:download_on_demand
|
531
|
+
end
|
532
|
+
tags_for_category = (c.build_settings[category_key] || '').split
|
533
|
+
category_to_tags_dup = category_to_tags.dup
|
534
|
+
tags_to_add = category_to_tags_dup.delete(key) || []
|
535
|
+
tags_to_delete = category_to_tags_dup.values.flatten
|
536
|
+
tags_for_category = (tags_for_category + tags_to_add - tags_to_delete).flatten.compact.uniq
|
537
|
+
if tags_for_category.empty?
|
538
|
+
val = c.build_settings.delete(category_key)
|
539
|
+
native_target.project.mark_dirty! unless val.nil?
|
540
|
+
else
|
541
|
+
tags = tags_for_category.join(' ')
|
542
|
+
unless c.build_settings[category_key] == tags
|
543
|
+
c.build_settings[category_key] = tags
|
544
|
+
native_target.project.mark_dirty!
|
545
|
+
end
|
546
|
+
end
|
547
|
+
end
|
513
548
|
end
|
514
549
|
end
|
515
550
|
end
|
@@ -596,10 +631,12 @@ module Pod
|
|
596
631
|
output_paths_by_config = {}
|
597
632
|
if use_input_output_paths
|
598
633
|
target.resource_paths_by_config.each do |config, resource_paths|
|
599
|
-
input_paths_key = XCFileListConfigKey.new(target.copy_resources_script_input_files_path(config),
|
634
|
+
input_paths_key = XCFileListConfigKey.new(target.copy_resources_script_input_files_path(config),
|
635
|
+
target.copy_resources_script_input_files_relative_path)
|
600
636
|
input_paths_by_config[input_paths_key] = [script_path] + resource_paths
|
601
637
|
|
602
|
-
output_paths_key = XCFileListConfigKey.new(target.copy_resources_script_output_files_path(config),
|
638
|
+
output_paths_key = XCFileListConfigKey.new(target.copy_resources_script_output_files_path(config),
|
639
|
+
target.copy_resources_script_output_files_relative_path)
|
603
640
|
output_paths_by_config[output_paths_key] = TargetIntegrator.resource_output_paths(resource_paths)
|
604
641
|
end
|
605
642
|
end
|
@@ -607,7 +644,9 @@ module Pod
|
|
607
644
|
native_targets.each do |native_target|
|
608
645
|
# Static library targets cannot include resources. Skip this phase from being added instead.
|
609
646
|
next if native_target.symbol_type == :static_library
|
610
|
-
TargetIntegrator.create_or_update_copy_resources_script_phase_to_target(native_target, script_path,
|
647
|
+
TargetIntegrator.create_or_update_copy_resources_script_phase_to_target(native_target, script_path,
|
648
|
+
input_paths_by_config,
|
649
|
+
output_paths_by_config)
|
611
650
|
end
|
612
651
|
end
|
613
652
|
|
@@ -720,8 +759,8 @@ module Pod
|
|
720
759
|
# The 'Pods' group would always be there for production code however for tests its sometimes not added.
|
721
760
|
# This ensures its always present and makes it easier for existing and new tests.
|
722
761
|
parent_odr_group = target.user_project.main_group['Pods'] || target.user_project.new_group('Pods')
|
723
|
-
TargetIntegrator.
|
724
|
-
|
762
|
+
TargetIntegrator.update_on_demand_resources(target.sandbox, target.user_project, target.user_targets,
|
763
|
+
library_file_accessors, parent_odr_group, target_odr_group_name)
|
725
764
|
end
|
726
765
|
end
|
727
766
|
|
@@ -62,7 +62,8 @@ module Pod
|
|
62
62
|
# @param [Hash] info_plist_entries see #info_plist_entries
|
63
63
|
# @param [String] product_basename see #product_basename
|
64
64
|
#
|
65
|
-
def initialize(sandbox, project, platform, subgroup_name, group_name, app_target_label, add_main: true,
|
65
|
+
def initialize(sandbox, project, platform, subgroup_name, group_name, app_target_label, add_main: true,
|
66
|
+
add_launchscreen_storyboard: platform == :ios, info_plist_entries: {}, product_basename: nil)
|
66
67
|
@sandbox = sandbox
|
67
68
|
@project = project
|
68
69
|
@platform = platform
|
@@ -271,17 +271,17 @@ module Pod
|
|
271
271
|
fa.spec.test_specification? && pod_target.test_app_hosts_by_spec[fa.spec]&.first == app_spec
|
272
272
|
end
|
273
273
|
target_odr_group_name = "#{pod_target.label}-OnDemandResources"
|
274
|
-
UserProjectIntegrator::TargetIntegrator.
|
275
|
-
|
276
|
-
|
274
|
+
UserProjectIntegrator::TargetIntegrator.update_on_demand_resources(target.sandbox, native_target.project,
|
275
|
+
native_target, file_accessors,
|
276
|
+
parent_odr_group, target_odr_group_name)
|
277
277
|
end
|
278
278
|
|
279
279
|
# Now add the ODRs of our own app spec declaration.
|
280
280
|
file_accessor = target.file_accessors.find { |fa| fa.spec == app_spec }
|
281
281
|
target_odr_group_name = "#{target.subspec_label(app_spec)}-OnDemandResources"
|
282
|
-
UserProjectIntegrator::TargetIntegrator.
|
283
|
-
|
284
|
-
|
282
|
+
UserProjectIntegrator::TargetIntegrator.update_on_demand_resources(target.sandbox, native_target.project,
|
283
|
+
native_target, file_accessor,
|
284
|
+
parent_odr_group, target_odr_group_name)
|
285
285
|
end
|
286
286
|
|
287
287
|
# @return [String] the message that should be displayed for the target
|
@@ -48,17 +48,23 @@ module Pod
|
|
48
48
|
# @param [Hash] additional_entries
|
49
49
|
# any additional entries to include in this Info.plist file.
|
50
50
|
#
|
51
|
+
# @param [String] build_setting_value
|
52
|
+
# an optional value to set for the `INFOPLIST_FILE` build setting on the
|
53
|
+
# native target. If none is specified then the value is calculated from the
|
54
|
+
# Info.plist path relative to the sandbox root.
|
55
|
+
#
|
51
56
|
# @return [void]
|
52
57
|
#
|
53
58
|
def create_info_plist_file_with_sandbox(sandbox, path, native_target, version, platform,
|
54
|
-
bundle_package_type = :fmwk, additional_entries: {}
|
59
|
+
bundle_package_type = :fmwk, additional_entries: {},
|
60
|
+
build_setting_value: nil)
|
55
61
|
UI.message "- Generating Info.plist file at #{UI.path(path)}" do
|
56
62
|
generator = Generator::InfoPlistFile.new(version, platform, bundle_package_type, additional_entries)
|
57
63
|
update_changed_file(generator, path)
|
58
64
|
|
59
|
-
|
65
|
+
build_setting_value ||= path.relative_path_from(sandbox.root).to_s
|
60
66
|
native_target.build_configurations.each do |c|
|
61
|
-
c.build_settings['INFOPLIST_FILE'] =
|
67
|
+
c.build_settings['INFOPLIST_FILE'] = build_setting_value
|
62
68
|
end
|
63
69
|
end
|
64
70
|
end
|
@@ -219,7 +219,7 @@ module Pod
|
|
219
219
|
file_accessors.map(&:preserve_paths),
|
220
220
|
file_accessors.map(&:readme),
|
221
221
|
file_accessors.map(&:resources),
|
222
|
-
file_accessors.
|
222
|
+
file_accessors.map(&:on_demand_resources_files),
|
223
223
|
file_accessors.map(&:source_files),
|
224
224
|
file_accessors.map(&:module_map),
|
225
225
|
]
|
@@ -334,20 +334,26 @@ module Pod
|
|
334
334
|
resource_bundles.values.flatten
|
335
335
|
end
|
336
336
|
|
337
|
-
# @return [Hash{String =>
|
338
|
-
# keyed by their tag.
|
337
|
+
# @return [Hash{String => Hash] The expanded paths of the on demand resources specified
|
338
|
+
# keyed by their tag including their category.
|
339
339
|
#
|
340
340
|
def on_demand_resources
|
341
341
|
result = {}
|
342
342
|
spec_consumer.on_demand_resources.each do |tag_name, file_patterns|
|
343
|
-
paths = expanded_paths(file_patterns,
|
343
|
+
paths = expanded_paths(file_patterns[:paths],
|
344
344
|
:exclude_patterns => spec_consumer.exclude_files,
|
345
345
|
:include_dirs => true)
|
346
|
-
result[tag_name] = paths
|
346
|
+
result[tag_name] = { :paths => paths, :category => file_patterns[:category] }
|
347
347
|
end
|
348
348
|
result
|
349
349
|
end
|
350
350
|
|
351
|
+
# @return [Array<Pathname>] The expanded paths of the on demand resources.
|
352
|
+
#
|
353
|
+
def on_demand_resources_files
|
354
|
+
on_demand_resources.values.flat_map { |v| v[:paths] }
|
355
|
+
end
|
356
|
+
|
351
357
|
# @return [Pathname] The of the prefix header file of the specification.
|
352
358
|
#
|
353
359
|
def prefix_header
|
@@ -71,12 +71,15 @@ module Pod
|
|
71
71
|
# The URL of the source.
|
72
72
|
#
|
73
73
|
def cdn_url?(url)
|
74
|
-
return unless url =~ %r{^https?:\/\/}
|
74
|
+
return false unless url =~ %r{^https?:\/\/}
|
75
75
|
|
76
76
|
uri_options = {}
|
77
77
|
|
78
78
|
netrc_info = Netrc.read
|
79
|
-
|
79
|
+
uri = URI.parse(url)
|
80
|
+
return false unless uri.userinfo.nil?
|
81
|
+
|
82
|
+
netrc_host = uri.host
|
80
83
|
credentials = netrc_info[netrc_host]
|
81
84
|
uri_options[:http_basic_authentication] = credentials if credentials
|
82
85
|
|
@@ -288,7 +288,7 @@ module Pod
|
|
288
288
|
@on_demand_resources ||= begin
|
289
289
|
pod_targets.flat_map do |pod_target|
|
290
290
|
library_file_accessors = pod_target.file_accessors.select { |fa| fa.spec.library_specification? }
|
291
|
-
library_file_accessors.flat_map
|
291
|
+
library_file_accessors.flat_map(&:on_demand_resources_files)
|
292
292
|
end.uniq
|
293
293
|
end
|
294
294
|
end
|
data/lib/cocoapods/validator.rb
CHANGED
@@ -583,12 +583,21 @@ module Pod
|
|
583
583
|
app_target = Pod::Generator::AppTargetHelper.add_app_target(app_project, consumer.platform_name, deployment_target)
|
584
584
|
sandbox = Sandbox.new(config.sandbox_root)
|
585
585
|
info_plist_path = app_project.path.dirname.+('App/App-Info.plist')
|
586
|
-
Pod::Installer::Xcode::PodsProjectGenerator::TargetInstallerHelper.create_info_plist_file_with_sandbox(sandbox,
|
586
|
+
Pod::Installer::Xcode::PodsProjectGenerator::TargetInstallerHelper.create_info_plist_file_with_sandbox(sandbox,
|
587
|
+
info_plist_path,
|
588
|
+
app_target,
|
589
|
+
'1.0.0',
|
590
|
+
Platform.new(consumer.platform_name),
|
591
|
+
:appl,
|
592
|
+
:build_setting_value => '$(SRCROOT)/App/App-Info.plist')
|
587
593
|
Pod::Generator::AppTargetHelper.add_swift_version(app_target, derived_swift_version)
|
588
|
-
# Lint will fail if a AppIcon is set but no image is found with such name
|
589
|
-
# Happens only with Static Frameworks enabled but shouldn't be set anyway
|
590
594
|
app_target.build_configurations.each do |config|
|
595
|
+
# Lint will fail if a AppIcon is set but no image is found with such name
|
596
|
+
# Happens only with Static Frameworks enabled but shouldn't be set anyway
|
591
597
|
config.build_settings.delete('ASSETCATALOG_COMPILER_APPICON_NAME')
|
598
|
+
# Ensure this is set generally but we have seen an issue with ODRs:
|
599
|
+
# see: https://github.com/CocoaPods/CocoaPods/issues/10933
|
600
|
+
config.build_settings['PRODUCT_BUNDLE_IDENTIFIER'] = 'org.cocoapods.${PRODUCT_NAME:rfc1034identifier}'
|
592
601
|
end
|
593
602
|
app_project.save
|
594
603
|
app_project.recreate_user_schemes
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cocoapods
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.11.
|
4
|
+
version: 1.11.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Eloy Duran
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2021-
|
14
|
+
date: 2021-09-12 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: cocoapods-core
|
@@ -19,14 +19,14 @@ dependencies:
|
|
19
19
|
requirements:
|
20
20
|
- - '='
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version: 1.11.
|
22
|
+
version: 1.11.1
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
26
26
|
requirements:
|
27
27
|
- - '='
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
version: 1.11.
|
29
|
+
version: 1.11.1
|
30
30
|
- !ruby/object:Gem::Dependency
|
31
31
|
name: claide
|
32
32
|
requirement: !ruby/object:Gem::Requirement
|
@@ -541,11 +541,11 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
541
541
|
version: '2.6'
|
542
542
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
543
543
|
requirements:
|
544
|
-
- - "
|
544
|
+
- - ">="
|
545
545
|
- !ruby/object:Gem::Version
|
546
|
-
version:
|
546
|
+
version: '0'
|
547
547
|
requirements: []
|
548
|
-
rubygems_version: 3.
|
548
|
+
rubygems_version: 3.0.9
|
549
549
|
signing_key:
|
550
550
|
specification_version: 4
|
551
551
|
summary: The Cocoa library package manager.
|