pindo 5.4.0 → 5.5.0
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/lib/pindo/base/pindocontext.rb +42 -31
- data/lib/pindo/client/aws3sclient.rb +2 -2
- data/lib/pindo/client/httpclient.rb +1 -2
- data/lib/pindo/command/android/autobuild.rb +40 -18
- data/lib/pindo/command/android/build.rb +37 -16
- data/lib/pindo/command/android/debug.rb +34 -20
- data/lib/pindo/command/appstore/iap.rb +15 -1
- data/lib/pindo/command/appstore/itcapp.rb +15 -1
- data/lib/pindo/command/appstore/metadata.rb +15 -1
- data/lib/pindo/command/appstore/screenshots.rb +15 -1
- data/lib/pindo/command/appstore/upload.rb +15 -1
- data/lib/pindo/command/deploy/build.rb +35 -20
- data/lib/pindo/command/deploy/bundleid.rb +15 -1
- data/lib/pindo/command/deploy/cert.rb +19 -2
- data/lib/pindo/command/deploy/check.rb +15 -1
- data/lib/pindo/command/deploy/configproj.rb +15 -1
- data/lib/pindo/command/deploy/confusecode.rb +15 -1
- data/lib/pindo/command/deploy/confuseproj.rb +11 -1
- data/lib/pindo/command/deploy/fabric.rb +10 -1
- data/lib/pindo/command/deploy/getitcinfo.rb +11 -1
- data/lib/pindo/command/deploy/iap.rb +12 -1
- data/lib/pindo/command/deploy/initconfig.rb +11 -1
- data/lib/pindo/command/deploy/itcinfo.rb +12 -1
- data/lib/pindo/command/deploy/pullconfig.rb +11 -1
- data/lib/pindo/command/deploy/pushconfig.rb +11 -1
- data/lib/pindo/command/deploy/quswark.rb +12 -1
- data/lib/pindo/command/deploy/quswauth.rb +10 -1
- data/lib/pindo/command/deploy/reportbug.rb +11 -1
- data/lib/pindo/command/deploy/resign.rb +12 -1
- data/lib/pindo/command/deploy/updateconfig.rb +11 -1
- data/lib/pindo/command/deploy/uploadipa.rb +11 -1
- data/lib/pindo/command/env/dreamstudio.rb +13 -1
- data/lib/pindo/command/env/quarkenv.rb +13 -1
- data/lib/pindo/command/env/swarkenv.rb +13 -1
- data/lib/pindo/command/env/workhard.rb +13 -1
- data/lib/pindo/command/gplay/iap.rb +21 -5
- data/lib/pindo/command/gplay/itcapp.rb +19 -5
- data/lib/pindo/command/gplay/metadata.rb +23 -5
- data/lib/pindo/command/gplay/screenshots.rb +23 -5
- data/lib/pindo/command/gplay/upload.rb +21 -5
- data/lib/pindo/command/gplay.rb +8 -8
- data/lib/pindo/command/ios/adhoc.rb +18 -3
- data/lib/pindo/command/ios/autobuild.rb +22 -7
- data/lib/pindo/command/ios/autoresign.rb +18 -3
- data/lib/pindo/command/ios/build.rb +18 -4
- data/lib/pindo/command/ipa/autoresign.rb +35 -4
- data/lib/pindo/command/ipa/import.rb +19 -1
- data/lib/pindo/command/ipa/output.rb +39 -4
- data/lib/pindo/command/{pgyer → jps}/apptest.rb +35 -24
- data/lib/pindo/command/jps/bind.rb +191 -0
- data/lib/pindo/command/{pgyer → jps}/comment.rb +19 -19
- data/lib/pindo/command/{pgyer → jps}/download.rb +20 -20
- data/lib/pindo/command/{pgyer → jps}/login.rb +9 -9
- data/lib/pindo/command/{pgyer → jps}/resign.rb +40 -25
- data/lib/pindo/command/{pgyer → jps}/upload.rb +60 -43
- data/lib/pindo/command/jps.rb +18 -0
- data/lib/pindo/command/lib/forcepush.rb +15 -1
- data/lib/pindo/command/lib/push.rb +15 -1
- data/lib/pindo/command/lib/update.rb +15 -1
- data/lib/pindo/command/repo/clone.rb +11 -1
- data/lib/pindo/command/repo/create.rb +13 -1
- data/lib/pindo/command/repo/login.rb +14 -3
- data/lib/pindo/command/repo/search.rb +14 -2
- data/lib/pindo/command/unity/apk.rb +14 -28
- data/lib/pindo/command/unity/autobuild.rb +13 -13
- data/lib/pindo/command/unity/ipa.rb +15 -29
- data/lib/pindo/command/unity/web.rb +15 -15
- data/lib/pindo/command/utils/boss.rb +19 -2
- data/lib/pindo/command/utils/clearcert.rb +18 -2
- data/lib/pindo/command/utils/device.rb +19 -2
- data/lib/pindo/command/utils/icon.rb +20 -2
- data/lib/pindo/command/utils/renewcert.rb +28 -3
- data/lib/pindo/command/utils/renewproj.rb +25 -2
- data/lib/pindo/command/utils/tgate.rb +28 -3
- data/lib/pindo/command/utils/xcassets.rb +20 -2
- data/lib/pindo/command/web/autobuild.rb +18 -3
- data/lib/pindo/command.rb +8 -2
- data/lib/pindo/module/pgyer/pgyerhelper.rb +185 -85
- data/lib/pindo/version.rb +1 -1
- metadata +30 -12
- data/lib/pindo/client/pgyer_feishu_oauth_cli.rb +0 -669
- data/lib/pindo/client/pgyerclient.rb +0 -466
- data/lib/pindo/client/pgyeruploadclient.rb +0 -517
- data/lib/pindo/command/pgyer.rb +0 -18
@@ -12,8 +12,24 @@ module Pindo
|
|
12
12
|
self.summary = '清理并且删除本机中所安装的所有iOS证书'
|
13
13
|
|
14
14
|
self.description = <<-DESC
|
15
|
-
|
16
|
-
|
15
|
+
清理并且删除本机中所安装的所有iOS证书。
|
16
|
+
|
17
|
+
支持功能:
|
18
|
+
- 扫描系统中的所有代码签名证书
|
19
|
+
- 删除Apple Development证书
|
20
|
+
- 删除Apple Distribution证书
|
21
|
+
- 清理Provisioning Profiles文件夹
|
22
|
+
- 自动清理所有相关证书文件
|
23
|
+
|
24
|
+
使用示例:
|
25
|
+
# 清理所有iOS证书
|
26
|
+
pindo utils clearcert
|
27
|
+
|
28
|
+
注意事项:
|
29
|
+
- 该操作不可逆,请谨慎操作
|
30
|
+
- 建议在清理前备份重要证书
|
31
|
+
- 清理后需要重新下载或安装证书
|
32
|
+
DESC
|
17
33
|
|
18
34
|
|
19
35
|
self.arguments = [
|
@@ -12,8 +12,25 @@ module Pindo
|
|
12
12
|
self.summary = '同步开发者账号中测试设备udid'
|
13
13
|
|
14
14
|
self.description = <<-DESC
|
15
|
-
|
16
|
-
|
15
|
+
同步开发者账号中测试设备udid管理工具。
|
16
|
+
|
17
|
+
支持功能:
|
18
|
+
- 从开发者账号获取所有设备信息
|
19
|
+
- 支持iOS和Mac设备管理
|
20
|
+
- 读取本地CSV文件的设备数据
|
21
|
+
- 生成多种格式的设备列表
|
22
|
+
- 兼容蒲公英平台的设备格式
|
23
|
+
- 设备信息统一管理和对比
|
24
|
+
|
25
|
+
使用示例:
|
26
|
+
# 同步并生成设备列表
|
27
|
+
pindo utils device
|
28
|
+
|
29
|
+
生成文件:
|
30
|
+
- new_devices_list.txt - App Store格式的设备列表
|
31
|
+
- new_user_devices_list.csv - 用户设备列表
|
32
|
+
- new_pgyer_devices_list.csv - 蒲公英格式设备列表
|
33
|
+
DESC
|
17
34
|
|
18
35
|
class DeviceItem
|
19
36
|
|
@@ -18,8 +18,26 @@ module Pindo
|
|
18
18
|
self.summary = '根据1024*1024icon生成Xcode标准icon文件'
|
19
19
|
|
20
20
|
self.description = <<-DESC
|
21
|
-
|
22
|
-
|
21
|
+
根据1024*1024像素的原图icon生成Xcode标准icon文件集。
|
22
|
+
|
23
|
+
支持功能:
|
24
|
+
- 从单个1024x1024像素图片生成全套iOS icon
|
25
|
+
- 自动生成各种尺寸的icon文件
|
26
|
+
- 支持直接安装到Xcode工程中
|
27
|
+
- 使用sips工具进行高质量缩放
|
28
|
+
- 自动创建时间戳命名的输出文件夹
|
29
|
+
|
30
|
+
使用示例:
|
31
|
+
# 生成icon文件夹
|
32
|
+
pindo utils icon path/to/demo.png
|
33
|
+
|
34
|
+
# 生成并直接安装到Xcode工程
|
35
|
+
pindo utils icon path/to/demo.png --install
|
36
|
+
|
37
|
+
注意事项:
|
38
|
+
- 输入图片必须为1024x1024像素
|
39
|
+
- 支持PNG、JPG等常见图片格式
|
40
|
+
DESC
|
23
41
|
|
24
42
|
|
25
43
|
self.arguments = [
|
@@ -14,9 +14,34 @@ module Pindo
|
|
14
14
|
self.summary = '更新当前账号下所有的Provisioning Profile文件'
|
15
15
|
|
16
16
|
self.description = <<-DESC
|
17
|
-
|
18
|
-
|
19
|
-
|
17
|
+
更新当前账号下所有的Provisioning Profile文件管理工具。
|
18
|
+
|
19
|
+
支持功能:
|
20
|
+
- 自动检测和生成缺失的证书
|
21
|
+
- 重新生成所有Provisioning Profile文件
|
22
|
+
- 支持开发、测试、发布等多种证书类型
|
23
|
+
- 支持快速模式,只更新必要的证书
|
24
|
+
- 自动处理bundle id功能性更新
|
25
|
+
- 支持生成上传测试平台的证书
|
26
|
+
|
27
|
+
使用示例:
|
28
|
+
# 全量更新所有证书
|
29
|
+
pindo utils renewcert
|
30
|
+
|
31
|
+
# 快速模式,只更新必要的证书
|
32
|
+
pindo utils renewcert --fast
|
33
|
+
|
34
|
+
# 重新生成证书并修复bundle id功能
|
35
|
+
pindo utils renewcert --renew --fixedid
|
36
|
+
|
37
|
+
# 生成上传测试平台的证书
|
38
|
+
pindo utils renewcert --upload
|
39
|
+
|
40
|
+
注意事项:
|
41
|
+
- 该操作会影响所有相关证书,请谨慎使用
|
42
|
+
- 确保已登录Apple Developer账号
|
43
|
+
- 建议在添加新设备或证书过期时使用
|
44
|
+
DESC
|
20
45
|
|
21
46
|
self.arguments = [
|
22
47
|
|
@@ -16,8 +16,31 @@ module Pindo
|
|
16
16
|
self.summary = '重新创建Xcode工程'
|
17
17
|
|
18
18
|
self.description = <<-DESC
|
19
|
-
|
20
|
-
|
19
|
+
重新创建Xcode工程的高级工具。
|
20
|
+
|
21
|
+
支持功能:
|
22
|
+
- 从现有Xcode工程创建全新的工程
|
23
|
+
- 保持原有的文件结构和配置
|
24
|
+
- 自动复制源代码和资源文件
|
25
|
+
- 重新配置目标和构建设置
|
26
|
+
- 支持自定义工程名称
|
27
|
+
- 自动处理CocoaPods集成
|
28
|
+
|
29
|
+
使用示例:
|
30
|
+
# 使用配置文件中的项目名
|
31
|
+
pindo utils renewproj config.json
|
32
|
+
|
33
|
+
# 指定新的项目名
|
34
|
+
pindo utils renewproj config.json --n="NewProjectName"
|
35
|
+
|
36
|
+
# 仅更新现有工程,不创建新工程
|
37
|
+
pindo utils renewproj config.json --nocreate
|
38
|
+
|
39
|
+
注意事项:
|
40
|
+
- 操作前请备份原有工程
|
41
|
+
- 新工程将会创建在上级目录中
|
42
|
+
- 操作完成后需要重新执行pod install
|
43
|
+
DESC
|
21
44
|
|
22
45
|
self.arguments = [
|
23
46
|
CLAide::Argument.new('path/to/config.json', true),
|
@@ -16,9 +16,34 @@ module Pindo
|
|
16
16
|
self.summary = 'tGate的命令行终端工具'
|
17
17
|
|
18
18
|
self.description = <<-DESC
|
19
|
-
|
20
|
-
|
21
|
-
|
19
|
+
tGate门控系统的命令行管理工具。
|
20
|
+
|
21
|
+
支持功能:
|
22
|
+
- 查看当前设备在tGate系统中的状态
|
23
|
+
- 修改IP地址的白名单/黑名单状态
|
24
|
+
- 修改设备的白名单/黑名单状态
|
25
|
+
- 支持dev和prod环境切换
|
26
|
+
- 支持多种设备标识符(deviceid, idfa, sbsid等)
|
27
|
+
- 实时查看门控状态变化
|
28
|
+
|
29
|
+
使用示例:
|
30
|
+
# 查看当前设备状态
|
31
|
+
pindo utils tgate --env=dev --type=device --deviceid=XXX-XX
|
32
|
+
|
33
|
+
# 设置IP为超级白名单
|
34
|
+
pindo utils tgate --env=dev --type=ip --status=super_white
|
35
|
+
|
36
|
+
# 设置设备为黑名单
|
37
|
+
pindo utils tgate --env=prod --type=device --status=black --deviceid=ABC-123
|
38
|
+
|
39
|
+
# 恢复正常状态
|
40
|
+
pindo utils tgate --env=dev --type=ip --status=normal
|
41
|
+
|
42
|
+
参数说明:
|
43
|
+
- env: dev/prod (环境)
|
44
|
+
- type: ip/device (类型)
|
45
|
+
- status: normal/black/super_white (状态)
|
46
|
+
DESC
|
22
47
|
|
23
48
|
self.arguments = [
|
24
49
|
|
@@ -10,8 +10,26 @@ module Pindo
|
|
10
10
|
self.summary = '获取Assets.xcassets中所有图片,并检查是否有缺失图片'
|
11
11
|
|
12
12
|
self.description = <<-DESC
|
13
|
-
|
14
|
-
|
13
|
+
获取Assets.xcassets中所有图片资源,并检查是否有缺失图片的工具。
|
14
|
+
|
15
|
+
支持功能:
|
16
|
+
- 扫描当前目录下Assets.xcassets文件
|
17
|
+
- 检查所有图片资源的完整性
|
18
|
+
- 识别缺失的@2x、@3x等分辨率图片
|
19
|
+
- 检查AppIcon和LaunchImage的完整性
|
20
|
+
- 生成详细的检查报告
|
21
|
+
- 列出所有图片资源的使用情况
|
22
|
+
|
23
|
+
使用示例:
|
24
|
+
# 检查当前工程的图片资源
|
25
|
+
pindo utils xcassets
|
26
|
+
|
27
|
+
输出内容:
|
28
|
+
- 所有图片资源列表
|
29
|
+
- 缺失的图片文件提示
|
30
|
+
- 图片资源使用统计
|
31
|
+
- 建议的优化方案
|
32
|
+
DESC
|
15
33
|
|
16
34
|
|
17
35
|
self.arguments = [
|
@@ -147,10 +147,25 @@ module Pindo
|
|
147
147
|
description = nil
|
148
148
|
result_data = PgyerHelper.share_instace.start_upload(app_info_obj:app_info_obj, ipa_file_upload:html_file_upload, description:description)
|
149
149
|
if !result_data.nil? && !result_data["data"].nil? && !result_data["data"]["id"].nil?
|
150
|
-
|
151
|
-
|
150
|
+
PgyerHelper.share_instace.print_app_version_info(
|
151
|
+
app_info_obj: app_info_obj,
|
152
|
+
app_version_info_obj: result_data["data"]
|
153
|
+
)
|
152
154
|
if @args_send_flag
|
153
|
-
|
155
|
+
# 始终发送给自己
|
156
|
+
PgyerHelper.share_instace.send_apptest_msg(
|
157
|
+
app_info_obj: app_info_obj,
|
158
|
+
app_version_info_obj: result_data["data"],
|
159
|
+
receiveType: "self"
|
160
|
+
)
|
161
|
+
|
162
|
+
# 额外发送到测试群
|
163
|
+
PgyerHelper.share_instace.send_apptest_msg(
|
164
|
+
app_info_obj: app_info_obj,
|
165
|
+
app_version_info_obj: result_data["data"],
|
166
|
+
chatEnv: "DevTest",
|
167
|
+
receiveType: "chat"
|
168
|
+
)
|
154
169
|
end
|
155
170
|
end
|
156
171
|
end
|
data/lib/pindo/command.rb
CHANGED
@@ -42,7 +42,7 @@ module Pindo
|
|
42
42
|
require 'pindo/command/env'
|
43
43
|
require 'pindo/command/lib'
|
44
44
|
require 'pindo/command/utils'
|
45
|
-
require 'pindo/command/
|
45
|
+
require 'pindo/command/jps'
|
46
46
|
require 'pindo/command/setup'
|
47
47
|
require 'pindo/command/repo'
|
48
48
|
require 'pindo/command/ipa'
|
@@ -74,6 +74,7 @@ module Pindo
|
|
74
74
|
|
75
75
|
DEFAULT_OPTIONS = [
|
76
76
|
['--help', '查看命令行用法'],
|
77
|
+
['--verbose', '显示详细的调试信息'],
|
77
78
|
]
|
78
79
|
|
79
80
|
|
@@ -105,6 +106,10 @@ module Pindo
|
|
105
106
|
def initialize(argv)
|
106
107
|
super
|
107
108
|
@args_help_flag = argv.flag?('help', false)
|
109
|
+
@args_verbose_flag = argv.flag?('verbose', false)
|
110
|
+
|
111
|
+
# 设置全局 verbose 标志
|
112
|
+
ENV['PINDO_VERBOSE'] = '1' if @args_verbose_flag
|
108
113
|
|
109
114
|
# 在非抽象命令初始化时设置上下文
|
110
115
|
if !self.class.abstract_command? && !@args_help_flag
|
@@ -126,7 +131,8 @@ module Pindo
|
|
126
131
|
# 配置选项
|
127
132
|
cache_enabled_value = self.class.respond_to?(:use_cache?) ? self.class.use_cache? : false
|
128
133
|
options = {
|
129
|
-
cache_enabled: cache_enabled_value
|
134
|
+
cache_enabled: cache_enabled_value,
|
135
|
+
verbose: @args_verbose_flag
|
130
136
|
}
|
131
137
|
|
132
138
|
# 获取项目根目录(Git仓库根目录或当前目录)
|