pindo 5.20.10 → 5.20.11

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ae50b918737d06a03fee40e06d31c3833762cabcbbf7425cf9b09da950dc3246
4
- data.tar.gz: 38373f9ab3fd41bb20e31a56d171afce72b3a93610e583a2e191f013319363cf
3
+ metadata.gz: 98bd5c08bca96f252deafefe0e50ee77483715b02614fee7951d2de03ee80127
4
+ data.tar.gz: bcc83560e3cd589064f3cc853769de9dfbbb50cbb6bbb5e105d78be13ed1e410
5
5
  SHA512:
6
- metadata.gz: f3af21bb72d61fe617aa675afcdec5c00041c8c570983ea362b66c517f7e15eaa352e67bec268d90e59e350a6143a42eecdfd04682a4647baab312b58596583b
7
- data.tar.gz: ca8b7b1f91b3a26b8a35a9d5182998ed868b767dad52936419460f637f2c7183a96132bf354da33a3a3d2ec348a93b245101c40750b0c6316dda2dcaa841b175
6
+ metadata.gz: bb5b006a2a3958aac7a595a60c1768a34b6b0fd56d9b817a3f83e5bc4bceb036f097e66ca66a052185bc5353d742038e98367376741f4456817aad9f5ff0b8b4
7
+ data.tar.gz: 1c9ec36b47e44a6e09c074963b800f820ca29269b83df091a0175181d14c6f76e70df3525452ce5a7a238a1a045ecfbc14c71372c9ef87af95c293cd14008556
@@ -5,8 +5,18 @@ require 'json'
5
5
  module Pindo
6
6
 
7
7
  class XcodeBuildHelper
8
+
9
+ # Xcode 26 起支持的最低部署目标为 15.0,低于该值会产生构建警告
10
+ DEFAULT_IOS_DEPLOYMENT_TARGET = "15.0"
11
+
8
12
  class << self
9
13
 
14
+ # 读取项目配置中的 iOS 部署目标,缺省或为空时回退到默认值
15
+ def ios_deployment_target(config_json)
16
+ value = config_json && config_json['project_info'] && config_json['project_info']['ios_deployment_targe']
17
+ value.to_s.empty? ? DEFAULT_IOS_DEPLOYMENT_TARGET : value.to_s
18
+ end
19
+
10
20
  # 删除 Unity-iPhone 项目中的 Firebase Crashlytics 脚本
11
21
  def delete_libtarget_firebase_shell(project_path)
12
22
  puts "[-] 开始检查并删除 Unity-iPhone下的Firebase Crashlytics脚本..."
@@ -137,10 +147,7 @@ module Pindo
137
147
  proj_fullname = File.join(project_dir, proj_name) + ".xcodeproj"
138
148
  project_obj = Xcodeproj::Project.open(proj_fullname)
139
149
 
140
- ios_deployment_targe = "14.0"
141
- if config_json && config_json['project_info'] && config_json['project_info']['ios_deployment_targe']
142
- ios_deployment_targe = config_json['project_info']['ios_deployment_targe']
143
- end
150
+ ios_deployment_targe = ios_deployment_target(config_json)
144
151
 
145
152
  project_obj.targets.each do |target|
146
153
  # 跳过非 native target(如 PBXAggregateTarget)
@@ -169,10 +176,16 @@ module Pindo
169
176
  end
170
177
  end
171
178
 
179
+ # iOS target 统一部署目标,避免 Framework/Tests 等子 target 残留过低版本触发警告
180
+ is_ios_target = target.respond_to?(:platform_name) && target.platform_name == :ios
181
+
172
182
  target.build_configurations.each do |config|
173
183
  config.build_settings['CURRENT_PROJECT_VERSION'] = config_json['app_info']['app_build_version']
174
184
  config.build_settings['MARKETING_VERSION'] = config_json['app_info']['app_version']
175
185
  config.build_settings['INFOPLIST_KEY_CFBundleDisplayName'] = config_json['app_info']['app_display_name']
186
+ if is_ios_target
187
+ config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = ios_deployment_targe
188
+ end
176
189
  if target_bundle_id && !target_bundle_id.empty? && !target_bundle_id.include?("*")
177
190
  config.build_settings['PRODUCT_BUNDLE_IDENTIFIER'] = target_bundle_id
178
191
  end
@@ -181,7 +194,6 @@ module Pindo
181
194
  if target.product_type.include?(Xcodeproj::Constants::PRODUCT_TYPE_UTI[:application])
182
195
  target.build_configurations.each do |config|
183
196
  config.build_settings['PRODUCT_NAME'] = exe_binary_name
184
- config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = ios_deployment_targe
185
197
  end
186
198
  else
187
199
  target_name_map.each do |k, v|
@@ -1,5 +1,6 @@
1
1
  require 'fileutils'
2
2
  require 'xcodeproj'
3
+ require 'pindo/module/xcode/xcode_build_helper'
3
4
 
4
5
  module Pindo
5
6
 
@@ -475,10 +476,7 @@ module Pindo
475
476
 
476
477
  def create_project_target(new_proj_name:nil, new_proj_path:nil, new_proj_obj:nil, old_proj_name:nil, old_proj_path:nil, old_proj_obj:nil)
477
478
 
478
- ios_deployment_targe = "11.0"
479
- if @config_json && @config_json['project_info'] && @config_json['project_info']['ios_deployment_targe']
480
- ios_deployment_targe = @config_json['project_info']['ios_deployment_targe']
481
- end
479
+ ios_deployment_targe = XcodeBuildHelper.ios_deployment_target(@config_json)
482
480
 
483
481
  new_proj_target = new_proj_obj.new_target(:application, new_proj_name, :ios, ios_deployment_targe, nil, :objc)
484
482
  old_proj_target = old_proj_obj.targets.first
data/lib/pindo/version.rb CHANGED
@@ -6,7 +6,7 @@ require 'time'
6
6
 
7
7
  module Pindo
8
8
 
9
- VERSION = "5.20.10"
9
+ VERSION = "5.20.11"
10
10
 
11
11
  class VersionCheck
12
12
  RUBYGEMS_API = 'https://rubygems.org/api/v1/gems/pindo.json'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pindo
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.20.10
4
+ version: 5.20.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - wade