pindo 5.13.6 → 5.13.7
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: fbf53e39f861e030ec56923a9d913e95a6fabe16f25294ef2062c56d140347f1
|
|
4
|
+
data.tar.gz: 12005518e7084709a61b87f7be6345181224cd6f1e6f6766200be52982c4f319
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 6ecb9148510a631ede407c1fb78a87eb6cd7c65c64f4ca5b0209da3a6f54f2ad7af067e6b5a7895cee1882fc3208446e635beecb2500fa8dbc1fd47533c91473
|
|
7
|
+
data.tar.gz: 852957fbaf4834176bf868e78ce613e9f9d147019de3b2fc6cbf24f1bd0a7c31f95bfb776cbcf7d7d730c4b679154ab68c75c83a3759a4ecf39d9f2d0cf766e3
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
require 'fileutils'
|
|
2
|
+
require 'pindo/module/xcode/xcode_build_helper'
|
|
3
|
+
|
|
4
|
+
module Pindo
|
|
5
|
+
class Command
|
|
6
|
+
class Ios < Command
|
|
7
|
+
class Fixproj < Ios
|
|
8
|
+
|
|
9
|
+
# 命令的简要说明
|
|
10
|
+
self.summary = '修复 Xcode 项目问题'
|
|
11
|
+
|
|
12
|
+
# 命令的详细说明,包含用法示例
|
|
13
|
+
self.description = <<-DESC
|
|
14
|
+
修复 Xcode 项目的常见问题。
|
|
15
|
+
|
|
16
|
+
支持功能:
|
|
17
|
+
|
|
18
|
+
* 修复 Xcode 16 的 linker flags 问题
|
|
19
|
+
|
|
20
|
+
* 删除 Unity-iPhone 项目中的 Firebase Crashlytics 脚本
|
|
21
|
+
|
|
22
|
+
使用示例:
|
|
23
|
+
|
|
24
|
+
$ pindo ios fixproj # 在当前目录修复项目
|
|
25
|
+
|
|
26
|
+
$ pindo ios fixproj path/to/project # 修复指定目录的项目
|
|
27
|
+
DESC
|
|
28
|
+
|
|
29
|
+
# 定义位置参数
|
|
30
|
+
self.arguments = [
|
|
31
|
+
CLAide::Argument.new('path/to/project', true)
|
|
32
|
+
]
|
|
33
|
+
|
|
34
|
+
# 命令的选项列表
|
|
35
|
+
def self.options
|
|
36
|
+
[
|
|
37
|
+
# 暂无选项
|
|
38
|
+
].concat(super)
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
def initialize(argv)
|
|
42
|
+
# 获取位置参数(项目路径)
|
|
43
|
+
@project_path = argv.shift_argument
|
|
44
|
+
|
|
45
|
+
super(argv)
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
def validate!
|
|
49
|
+
super
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
def run
|
|
53
|
+
# 确定项目路径
|
|
54
|
+
project_dir = @project_path && !@project_path.empty? ? @project_path : Dir.pwd
|
|
55
|
+
project_dir = File.expand_path(project_dir)
|
|
56
|
+
|
|
57
|
+
unless File.directory?(project_dir)
|
|
58
|
+
raise Informative, "项目路径不存在: #{project_dir}"
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
puts "\n开始修复 Xcode 项目问题..."
|
|
62
|
+
puts "项目路径: #{project_dir}\n"
|
|
63
|
+
|
|
64
|
+
# 1. 修复 Xcode 16 的 linker flags 问题
|
|
65
|
+
puts "\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
|
66
|
+
puts " 修复 Xcode 16 Linker Flags"
|
|
67
|
+
puts "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n"
|
|
68
|
+
|
|
69
|
+
begin
|
|
70
|
+
Pindo::XcodeBuildHelper.fix_xcode16_linker_flags(project_dir: project_dir)
|
|
71
|
+
rescue => e
|
|
72
|
+
puts " ⚠️ 修复 Xcode 16 linker flags 失败: #{e.message}"
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
# 2. 删除 Unity-iPhone 项目中的 Firebase Crashlytics 脚本
|
|
76
|
+
puts "\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
|
77
|
+
puts " 删除 Firebase Crashlytics 脚本"
|
|
78
|
+
puts "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n"
|
|
79
|
+
|
|
80
|
+
begin
|
|
81
|
+
Pindo::XcodeBuildHelper.delete_libtarget_firebase_shell(project_dir)
|
|
82
|
+
rescue => e
|
|
83
|
+
puts " ⚠️ 删除 Firebase Crashlytics 脚本失败: #{e.message}"
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
puts "\n✅ 项目修复完成!\n"
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
end
|
|
90
|
+
end
|
|
91
|
+
end
|
|
92
|
+
end
|
data/lib/pindo/command/ios.rb
CHANGED
|
@@ -670,7 +670,7 @@ module Pindo
|
|
|
670
670
|
args_ipa_file_dir = File.expand_path(File::dirname(ipa_file_upload))
|
|
671
671
|
ipa_file_upload=File.join(args_ipa_file_dir, File.basename(ipa_file_upload))
|
|
672
672
|
current_project_dir = Dir.pwd
|
|
673
|
-
description = get_description_from_git(current_project_dir:current_project_dir)
|
|
673
|
+
# description = get_description_from_git(current_project_dir:current_project_dir)
|
|
674
674
|
# get_description_from_git 现在会在失败时抛出异常,成功时返回有效的描述
|
|
675
675
|
# 所以不需要再检查 nil 或空值
|
|
676
676
|
|
|
@@ -356,7 +356,7 @@ module Pindo
|
|
|
356
356
|
|
|
357
357
|
end
|
|
358
358
|
|
|
359
|
-
# 修复
|
|
359
|
+
# 修复Xcode 26 链接器兼容性问题
|
|
360
360
|
# 自动移除 -ld_classic 和 -ld64 标志
|
|
361
361
|
def fix_xcode16_linker_flags(project_dir: nil)
|
|
362
362
|
begin
|
|
@@ -428,11 +428,11 @@ module Pindo
|
|
|
428
428
|
end
|
|
429
429
|
|
|
430
430
|
if fixed_count > 0
|
|
431
|
-
puts "✅ 修复
|
|
431
|
+
puts "✅ 修复Xcode 26 链接器兼容性配置".green
|
|
432
432
|
end
|
|
433
433
|
|
|
434
434
|
rescue => error
|
|
435
|
-
puts "⚠️
|
|
435
|
+
puts "⚠️ 修复Xcode 26 链接器标志时出现错误: #{error.message}".yellow
|
|
436
436
|
# 不中断构建流程
|
|
437
437
|
end
|
|
438
438
|
end
|
data/lib/pindo/version.rb
CHANGED
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.13.
|
|
4
|
+
version: 5.13.7
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- wade
|
|
@@ -355,6 +355,7 @@ files:
|
|
|
355
355
|
- lib/pindo/command/ios/autoresign.rb
|
|
356
356
|
- lib/pindo/command/ios/build.rb
|
|
357
357
|
- lib/pindo/command/ios/cert.rb
|
|
358
|
+
- lib/pindo/command/ios/fixproj.rb
|
|
358
359
|
- lib/pindo/command/ios/podlint.rb
|
|
359
360
|
- lib/pindo/command/ios/podpush.rb
|
|
360
361
|
- lib/pindo/command/ios/podupdate.rb
|