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: bdf43dd4c0b65e41d7ae75cfaafa4bb9446dbf0ab735e6179e03f09ff25e96d8
4
- data.tar.gz: 781f6bc039fe30f66f9d024f5a0ffe498c969687ffb0053113d45464e13621f9
3
+ metadata.gz: fbf53e39f861e030ec56923a9d913e95a6fabe16f25294ef2062c56d140347f1
4
+ data.tar.gz: 12005518e7084709a61b87f7be6345181224cd6f1e6f6766200be52982c4f319
5
5
  SHA512:
6
- metadata.gz: ee0911513edf4360270825cf5ee938736b0aba41a0b89d0ad9fd6b1062c590b7594edd8258d3c245eee8f36f565c48056dc6e8119d7dcf84ce616751db76b705
7
- data.tar.gz: 82d6558b35038c5f97ee2595947ad0afa080a184d079b0d86cea3590830b2d3d5ebd21d0c5be61f724474c853f5aa08073a45c8eec7c5dc84a844f5614b411a9
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
@@ -7,6 +7,7 @@ require 'pindo/command/ios/applovin'
7
7
  require 'pindo/command/ios/podlint'
8
8
  require 'pindo/command/ios/podpush'
9
9
  require 'pindo/command/ios/podupdate'
10
+ require 'pindo/command/ios/fixproj'
10
11
 
11
12
  module Pindo
12
13
  class Command
@@ -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
- # 修复 Xcode 16 链接器兼容性问题
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 "✅ 修复 Xcode 16 链接器兼容性配置".green
431
+ puts "✅ 修复Xcode 26 链接器兼容性配置".green
432
432
  end
433
433
 
434
434
  rescue => error
435
- puts "⚠️ 修复链接器标志时出现错误: #{error.message}".yellow
435
+ puts "⚠️ 修复Xcode 26 链接器标志时出现错误: #{error.message}".yellow
436
436
  # 不中断构建流程
437
437
  end
438
438
  end
data/lib/pindo/version.rb CHANGED
@@ -6,7 +6,7 @@ require 'time'
6
6
 
7
7
  module Pindo
8
8
 
9
- VERSION = "5.13.6"
9
+ VERSION = "5.13.7"
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.13.6
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