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:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 98bd5c08bca96f252deafefe0e50ee77483715b02614fee7951d2de03ee80127
|
|
4
|
+
data.tar.gz: bcc83560e3cd589064f3cc853769de9dfbbb50cbb6bbb5e105d78be13ed1e410
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
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 =
|
|
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 =
|
|
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