pindo 5.12.2 → 5.13.2
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/git_handler.rb +692 -0
- data/lib/pindo/command/android/autobuild.rb +2 -2
- data/lib/pindo/command/android.rb +0 -1
- data/lib/pindo/command/appstore/adhocbuild.rb +258 -311
- data/lib/pindo/command/appstore/autobuild.rb +203 -0
- data/lib/pindo/command/appstore/autoresign.rb +35 -17
- data/lib/pindo/command/appstore/bundleid.rb +120 -0
- data/lib/pindo/command/appstore/cert.rb +212 -0
- data/lib/pindo/command/appstore/configproj.rb +81 -0
- data/lib/pindo/command/{deploy → appstore}/getitcinfo.rb +76 -91
- data/lib/pindo/command/appstore/iap.rb +788 -24
- data/lib/pindo/command/appstore/initconfig.rb +105 -0
- data/lib/pindo/command/appstore/itcapp.rb +95 -13
- data/lib/pindo/command/{deploy → appstore}/itcinfo.rb +90 -118
- data/lib/pindo/command/appstore/pem.rb +136 -0
- data/lib/pindo/command/appstore/pullconfig.rb +99 -0
- data/lib/pindo/command/appstore/quswark.rb +87 -0
- data/lib/pindo/command/appstore/quswauth.rb +67 -0
- data/lib/pindo/command/appstore/tag.rb +77 -0
- data/lib/pindo/command/appstore.rb +13 -1
- data/lib/pindo/command/env/quarkenv.rb +11 -13
- data/lib/pindo/command/env/swarkenv.rb +11 -16
- data/lib/pindo/command/ios/autobuild.rb +64 -43
- data/lib/pindo/command/ios/autoresign.rb +34 -19
- data/lib/pindo/command/ios/build.rb +10 -7
- data/lib/pindo/command/ios/cert.rb +27 -20
- data/lib/pindo/command/jps/upload.rb +3 -3
- data/lib/pindo/command/unity/autobuild.rb +2 -2
- data/lib/pindo/command/utils/clearcert.rb +2 -17
- data/lib/pindo/command/{deploy → utils}/fabric.rb +13 -13
- data/lib/pindo/command/utils/renewcert.rb +62 -38
- data/lib/pindo/command/utils/renewproj.rb +0 -3
- data/lib/pindo/command/{deploy → utils}/updateconfig.rb +6 -7
- data/lib/pindo/command/utils.rb +2 -0
- data/lib/pindo/command/web/autobuild.rb +2 -2
- data/lib/pindo/command.rb +30 -3
- data/lib/pindo/config/build_info_manager.rb +176 -0
- data/lib/pindo/config/ios_config_parser.rb +404 -0
- data/lib/pindo/module/android/android_build_helper.rb +110 -0
- data/lib/pindo/module/android/android_config_helper.rb +9 -5
- data/lib/pindo/module/android/gradle_helper.rb +88 -0
- data/lib/pindo/module/appstore/bundleid_helper.rb +349 -0
- data/lib/pindo/module/appstore/itcapp_helper.rb +228 -0
- data/lib/pindo/module/build/build_helper.rb +12 -0
- data/lib/pindo/module/build/swark_helper.rb +116 -77
- data/lib/pindo/module/cert/cert_helper.rb +74 -0
- data/lib/pindo/module/cert/pem_helper.rb +72 -0
- data/lib/pindo/module/cert/{xcodecerthelper.rb → xcode_cert_helper.rb} +208 -6
- data/lib/pindo/module/task/model/appstore/appstore_task.rb +18 -0
- data/lib/pindo/module/task/model/appstore/appstore_upload_ipa_task.rb +151 -0
- data/lib/pindo/module/task/model/appstore/appstore_upload_metadata_task.rb +250 -0
- data/lib/pindo/module/task/model/appstore/appstore_upload_screenshot_task.rb +276 -0
- data/lib/pindo/module/task/model/build/android_build_adhoc_task.rb +210 -0
- data/lib/pindo/module/task/model/build/{android_dev_build_task.rb → android_build_dev_task.rb} +2 -2
- data/lib/pindo/module/task/model/build/android_build_gplay_task.rb +210 -0
- data/lib/pindo/module/task/model/build/android_build_task.rb +13 -0
- data/lib/pindo/module/task/model/build/ios_build_adhoc_task.rb +197 -0
- data/lib/pindo/module/task/model/build/ios_build_appstore_task.rb +367 -0
- data/lib/pindo/module/task/model/build/{ios_dev_build_task.rb → ios_build_dev_task.rb} +37 -27
- data/lib/pindo/module/task/model/build/ios_build_task.rb +13 -0
- data/lib/pindo/module/task/model/build/{web_dev_build_task.rb → web_build_dev_task.rb} +1 -1
- data/lib/pindo/module/task/model/build_task.rb +15 -12
- data/lib/pindo/module/task/model/jps_resign_task.rb +185 -0
- data/lib/pindo/module/task/model/{upload_task.rb → jps_upload_task.rb} +3 -3
- data/lib/pindo/module/task/model/unity_export_task.rb +3 -1
- data/lib/pindo/module/task/pindo_task.rb +19 -10
- data/lib/pindo/module/unity/unity_helper.rb +2 -1
- data/lib/pindo/module/xcode/ipa_resign_helper.rb +210 -0
- data/lib/pindo/module/xcode/{xcodeappconfig.rb → xcode_app_config.rb} +79 -0
- data/lib/pindo/module/xcode/xcode_build_config.rb +152 -17
- data/lib/pindo/module/xcode/xcode_build_helper.rb +151 -1
- data/lib/pindo/module/xcode/xcode_swark_helper.rb +341 -0
- data/lib/pindo/options/core/global_options_state.rb +268 -0
- data/lib/pindo/options/core/option_configuration.rb +206 -0
- data/lib/pindo/options/core/option_initializer.rb +51 -0
- data/lib/pindo/options/core/option_item.rb +144 -0
- data/lib/pindo/options/core/option_value_parser.rb +54 -0
- data/lib/pindo/options/groups/build_options.rb +60 -0
- data/lib/pindo/options/groups/jps_options.rb +70 -0
- data/lib/pindo/options/groups/option_group.rb +73 -0
- data/lib/pindo/options/helpers/bundleid_selector.rb +103 -0
- data/lib/pindo/options/options.rb +14 -0
- data/lib/pindo/version.rb +1 -1
- metadata +49 -41
- data/lib/pindo/command/android/build.rb +0 -186
- data/lib/pindo/command/appstore/import.rb +0 -259
- data/lib/pindo/command/deploy/build.rb +0 -250
- data/lib/pindo/command/deploy/bundleid.rb +0 -259
- data/lib/pindo/command/deploy/cert.rb +0 -202
- data/lib/pindo/command/deploy/check.rb +0 -93
- data/lib/pindo/command/deploy/configproj.rb +0 -120
- data/lib/pindo/command/deploy/confusecode.rb +0 -262
- data/lib/pindo/command/deploy/confuseproj.rb +0 -122
- data/lib/pindo/command/deploy/iap.rb +0 -826
- data/lib/pindo/command/deploy/initconfig.rb +0 -138
- data/lib/pindo/command/deploy/itcapp.rb +0 -146
- data/lib/pindo/command/deploy/pem.rb +0 -55
- data/lib/pindo/command/deploy/pullconfig.rb +0 -56
- data/lib/pindo/command/deploy/pushconfig.rb +0 -93
- data/lib/pindo/command/deploy/quswark.rb +0 -156
- data/lib/pindo/command/deploy/quswauth.rb +0 -76
- data/lib/pindo/command/deploy/reportbug.rb +0 -145
- data/lib/pindo/command/deploy/resign.rb +0 -300
- data/lib/pindo/command/deploy/tag.rb +0 -108
- data/lib/pindo/command/deploy/uploadipa.rb +0 -73
- data/lib/pindo/command/deploy.rb +0 -42
- data/lib/pindo/command/dev/autobuild.rb +0 -117
- data/lib/pindo/command/dev/build.rb +0 -94
- data/lib/pindo/command/dev/debug.rb +0 -112
- data/lib/pindo/module/task/model/build/android_release_build_task.rb +0 -29
- data/lib/pindo/module/task/model/build/ios_adhoc_build_task.rb +0 -53
- data/lib/pindo/module/task/model/build/ios_release_build_task.rb +0 -53
- data/lib/pindo/options/appconfigoptions.rb +0 -24
- data/lib/pindo/options/deployoptions.rb +0 -372
|
@@ -1,20 +1,16 @@
|
|
|
1
1
|
require 'highline/import'
|
|
2
2
|
require 'xcodeproj'
|
|
3
|
-
require 'find'
|
|
3
|
+
require 'find'
|
|
4
4
|
require 'fileutils'
|
|
5
5
|
require "fastimage"
|
|
6
|
-
|
|
6
|
+
require 'pindo/config/ios_config_parser'
|
|
7
7
|
|
|
8
8
|
module Pindo
|
|
9
9
|
class Command
|
|
10
|
-
class
|
|
11
|
-
class Getitcinfo <
|
|
12
|
-
|
|
13
|
-
include Command::DeployOptions
|
|
10
|
+
class Appstore < Command
|
|
11
|
+
class Getitcinfo < Appstore
|
|
14
12
|
|
|
15
|
-
include XcodeCertHelper
|
|
16
13
|
include AppstoreMetadataConnectApiHelper
|
|
17
|
-
|
|
18
14
|
|
|
19
15
|
self.summary = '从AppStore中获取app详细信息'
|
|
20
16
|
|
|
@@ -27,81 +23,88 @@ module Pindo
|
|
|
27
23
|
- 支持隐私数据和版本信息获取
|
|
28
24
|
|
|
29
25
|
使用示例:
|
|
30
|
-
pindo
|
|
31
|
-
pindo
|
|
32
|
-
pindo
|
|
26
|
+
pindo appstore getitcinfo --metadata
|
|
27
|
+
pindo appstore getitcinfo --screenshots
|
|
28
|
+
pindo appstore getitcinfo --metadata --screenshots
|
|
33
29
|
DESC
|
|
34
30
|
|
|
35
31
|
self.arguments = [
|
|
36
|
-
CLAide::Argument.new('path/to/config.json', true),
|
|
37
32
|
]
|
|
38
33
|
|
|
39
34
|
def self.options
|
|
40
35
|
[
|
|
41
|
-
['--metadata', '获取metadata
|
|
42
|
-
['--screenshots', '
|
|
36
|
+
['--metadata', '获取metadata信息'],
|
|
37
|
+
['--screenshots', '下载商店截屏'],
|
|
38
|
+
['--overwrite', '覆盖已存在的文件'],
|
|
43
39
|
].concat(super)
|
|
44
40
|
end
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
41
|
+
|
|
42
|
+
def initialize(argv)
|
|
48
43
|
@upload_metadata_flag = argv.flag?('metadata', false)
|
|
49
44
|
@upload_screenshots_flag = argv.flag?('screenshots', false)
|
|
50
|
-
|
|
51
45
|
@over_write = argv.flag?('overwrite', false)
|
|
52
46
|
|
|
53
47
|
super
|
|
54
|
-
|
|
48
|
+
end
|
|
55
49
|
|
|
56
|
-
|
|
57
50
|
def run
|
|
58
51
|
current_project_dir = Dir.pwd
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
52
|
+
config_file = File.join(current_project_dir, "config.json")
|
|
53
|
+
|
|
54
|
+
# 加载配置
|
|
55
|
+
config_parser = Pindo::IosConfigParser.instance
|
|
56
|
+
config_parser.load_config(config_file: config_file)
|
|
57
|
+
@config_json = config_parser.config_json
|
|
58
|
+
@bundle_id = config_parser.bundle_id
|
|
59
|
+
@apple_id = config_parser.apple_id
|
|
60
|
+
|
|
61
|
+
if @config_json.nil? || @config_json.empty?
|
|
62
|
+
raise Informative, "配置未加载,请检查配置文件: #{config_file}"
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
if @bundle_id.nil? || @bundle_id.empty?
|
|
66
|
+
raise Informative, "无法从配置文件中获取 Bundle ID"
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
if @apple_id.nil? || @apple_id.empty?
|
|
70
|
+
raise Informative, "无法从配置文件中获取 Apple ID"
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
pindo_dir = File.expand_path(pindo_single_config.pindo_dir)
|
|
74
|
+
@app_config_dir = File.join(pindo_dir, @bundle_id)
|
|
75
|
+
app_itunes_dir = File.join(@app_config_dir, "fastlane")
|
|
62
76
|
begin
|
|
63
77
|
FileUtils.mkdir_p(File.join(app_itunes_dir))
|
|
64
78
|
rescue
|
|
65
|
-
|
|
79
|
+
# if it's already there
|
|
66
80
|
end
|
|
67
81
|
|
|
68
|
-
fastlane_login(apple_id
|
|
82
|
+
fastlane_login(apple_id: @apple_id)
|
|
69
83
|
|
|
70
|
-
if @upload_metadata_flag
|
|
71
|
-
fastlane_download_metadata(temp_bundle_id
|
|
84
|
+
if @upload_metadata_flag
|
|
85
|
+
fastlane_download_metadata(temp_bundle_id: @bundle_id)
|
|
72
86
|
end
|
|
73
87
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
fastlane_download_screenshots(temp_bundle_id:@bundle_id)
|
|
88
|
+
if @upload_screenshots_flag
|
|
89
|
+
fastlane_download_screenshots(temp_bundle_id: @bundle_id)
|
|
77
90
|
valid_screenshots_html
|
|
78
91
|
end
|
|
79
92
|
|
|
80
93
|
puts "Done !!!"
|
|
81
94
|
end
|
|
82
95
|
|
|
83
|
-
def fastlane_download_metadata(temp_bundle_id:nil)
|
|
96
|
+
def fastlane_download_metadata(temp_bundle_id: nil)
|
|
84
97
|
|
|
85
|
-
app_itunes_dir = File.join(@app_config_dir,
|
|
86
|
-
app_itunes_file = File.join(app_itunes_dir,
|
|
98
|
+
app_itunes_dir = File.join(@app_config_dir, "fastlane")
|
|
99
|
+
app_itunes_file = File.join(app_itunes_dir, "app_itunes.json")
|
|
87
100
|
|
|
88
101
|
app_itunes_json = {}
|
|
89
|
-
# if File.exist?(app_itunes_file)
|
|
90
|
-
# app_itunes_json = JSON.parse(File.read(app_itunes_file))
|
|
91
|
-
# else
|
|
92
|
-
# app_itunes_json = {}
|
|
93
|
-
# end
|
|
94
|
-
|
|
95
102
|
|
|
96
103
|
app = Spaceship::ConnectAPI::App.find(temp_bundle_id)
|
|
97
|
-
|
|
98
|
-
# app_itunes_json["prices"] = app.prices
|
|
104
|
+
|
|
99
105
|
app_itunes_json["primary_locale"] = app.primary_locale
|
|
100
|
-
# app_itunes_json["is_opted_in_to_distribute_ios_app_on_mac_app_store"] = app.is_opted_in_to_distribute_ios_app_on_mac_app_store
|
|
101
106
|
app_itunes_json["content_rights_declaration"] = app.content_rights_declaration
|
|
102
107
|
|
|
103
|
-
|
|
104
|
-
|
|
105
108
|
all_usages = Spaceship::ConnectAPI::AppDataUsage.all(app_id: app.id, includes: "category,grouping,purpose,dataProtection", limit: 500)
|
|
106
109
|
if !all_usages.nil? && all_usages.size > 0
|
|
107
110
|
app_itunes_json["privacy_data"] = []
|
|
@@ -110,19 +113,19 @@ module Pindo
|
|
|
110
113
|
|
|
111
114
|
all_usages.each do |privacy_usage|
|
|
112
115
|
|
|
113
|
-
if !privacy_usage.category.nil?
|
|
114
|
-
category= privacy_usage.category.id
|
|
116
|
+
if !privacy_usage.category.nil?
|
|
117
|
+
category = privacy_usage.category.id
|
|
115
118
|
all_usages_config[category] = all_usages_config[category] || {}
|
|
116
119
|
all_usages_config[category]["category"] = category
|
|
117
120
|
|
|
118
|
-
if !privacy_usage.purpose.nil?
|
|
119
|
-
all_usages_config[category]["purposes"] = all_usages_config[category]["purposes"] || []
|
|
121
|
+
if !privacy_usage.purpose.nil?
|
|
122
|
+
all_usages_config[category]["purposes"] = all_usages_config[category]["purposes"] || []
|
|
120
123
|
all_usages_config[category]["purposes"] << privacy_usage.purpose.id
|
|
121
124
|
|
|
122
125
|
end
|
|
123
126
|
|
|
124
127
|
if !privacy_usage.data_protection.nil?
|
|
125
|
-
all_usages_config[category]["data_protections"] = all_usages_config[category]["data_protections"] || []
|
|
128
|
+
all_usages_config[category]["data_protections"] = all_usages_config[category]["data_protections"] || []
|
|
126
129
|
all_usages_config[category]["data_protections"] << privacy_usage.data_protection.id
|
|
127
130
|
end
|
|
128
131
|
|
|
@@ -130,24 +133,21 @@ module Pindo
|
|
|
130
133
|
usages_config = {}
|
|
131
134
|
usages_config["data_protections"] = usages_config["data_protections"] || []
|
|
132
135
|
if !privacy_usage.data_protection.nil?
|
|
133
|
-
usages_config["data_protections"] = usages_config["data_protections"] || []
|
|
136
|
+
usages_config["data_protections"] = usages_config["data_protections"] || []
|
|
134
137
|
usages_config["data_protections"] << privacy_usage.data_protection.id
|
|
135
138
|
end
|
|
136
|
-
|
|
139
|
+
app_itunes_json["privacy_data"] << usages_config
|
|
137
140
|
end
|
|
138
141
|
end
|
|
139
142
|
|
|
140
|
-
all_usages_config.each do |k, item|
|
|
143
|
+
all_usages_config.each do |k, item|
|
|
141
144
|
app_itunes_json["privacy_data"] << item
|
|
142
145
|
end
|
|
143
146
|
|
|
144
147
|
end
|
|
145
148
|
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
149
|
app_itunes_json["app_info"] = app_itunes_json["app_info"] || {}
|
|
150
|
-
|
|
150
|
+
|
|
151
151
|
platforms = ["IOS", "MAC_OS", "TV_OS", "XR_OS"]
|
|
152
152
|
|
|
153
153
|
platforms.each do |platform|
|
|
@@ -156,30 +156,25 @@ module Pindo
|
|
|
156
156
|
|
|
157
157
|
app_edit_version_info = app.get_edit_app_store_version(platform: platform, includes: 'appStoreVersionSubmission,build,appStoreVersionPhasedRelease,appStoreVersionLocalizations')
|
|
158
158
|
|
|
159
|
-
|
|
160
|
-
if app_edit_version_info.nil?
|
|
159
|
+
if app_edit_version_info.nil?
|
|
161
160
|
|
|
162
161
|
if File.exist?(File.join(app_itunes_dir, platform.downcase))
|
|
163
162
|
FileUtils.rm_rf(File.join(app_itunes_dir, platform.downcase))
|
|
164
163
|
end
|
|
165
164
|
|
|
166
|
-
|
|
167
165
|
app_itunes_json["app_edit_version_info"].delete(platform)
|
|
168
166
|
app_itunes_json["app_edit_version_info"].delete(platform.downcase)
|
|
169
|
-
|
|
167
|
+
|
|
170
168
|
else
|
|
171
169
|
|
|
172
|
-
fastlane_download_app_version_info(app_version_info: app_edit_version_info, platform:platform, app_itunes_json:app_itunes_json, app_itunes_dir:app_itunes_dir)
|
|
170
|
+
fastlane_download_app_version_info(app_version_info: app_edit_version_info, platform: platform, app_itunes_json: app_itunes_json, app_itunes_dir: app_itunes_dir)
|
|
173
171
|
|
|
174
172
|
end
|
|
175
173
|
|
|
176
|
-
|
|
177
|
-
end
|
|
174
|
+
end
|
|
178
175
|
|
|
179
176
|
app_itunes_json["app_info"]["app_info_localization"] = {}
|
|
180
|
-
fastlane_download_app_info(app: app, app_itunes_json:app_itunes_json, app_itunes_dir:app_itunes_dir)
|
|
181
|
-
|
|
182
|
-
|
|
177
|
+
fastlane_download_app_info(app: app, app_itunes_json: app_itunes_json, app_itunes_dir: app_itunes_dir)
|
|
183
178
|
|
|
184
179
|
File.open(app_itunes_file, "w") do |file|
|
|
185
180
|
file.write(JSON.pretty_generate(app_itunes_json))
|
|
@@ -188,11 +183,9 @@ module Pindo
|
|
|
188
183
|
|
|
189
184
|
end
|
|
190
185
|
|
|
186
|
+
def fastlane_download_screenshots(temp_bundle_id: nil)
|
|
191
187
|
|
|
192
|
-
|
|
193
|
-
def fastlane_download_screenshots(temp_bundle_id:nil)
|
|
194
|
-
|
|
195
|
-
app_screenshots_dir = File.join(@app_config_dir, "fastlane/screenshots")
|
|
188
|
+
app_screenshots_dir = File.join(@app_config_dir, "fastlane/screenshots")
|
|
196
189
|
app = Spaceship::ConnectAPI::App.find(temp_bundle_id)
|
|
197
190
|
platforms = ["IOS", "MAC_OS", "TV_OS", "XR_OS"]
|
|
198
191
|
|
|
@@ -203,56 +196,48 @@ module Pindo
|
|
|
203
196
|
|
|
204
197
|
app_edit_version_info = app.get_edit_app_store_version(platform: platform)
|
|
205
198
|
|
|
206
|
-
if app_edit_version_info.nil?
|
|
199
|
+
if app_edit_version_info.nil?
|
|
207
200
|
|
|
208
201
|
if File.exist?(File.join(app_screenshots_dir, platform.downcase))
|
|
209
|
-
FileUtils.rm_rf(File.join(app_screenshots_dir, platform.
|
|
202
|
+
FileUtils.rm_rf(File.join(app_screenshots_dir, platform.downcase))
|
|
210
203
|
end
|
|
211
204
|
else
|
|
212
|
-
fastlane_download_app_screenshots(app_version_info: app_edit_version_info, platform:platform, app_screenshots_dir:app_screenshots_dir, over_write
|
|
205
|
+
fastlane_download_app_screenshots(app_version_info: app_edit_version_info, platform: platform, app_screenshots_dir: app_screenshots_dir, over_write: @over_write)
|
|
213
206
|
end
|
|
214
207
|
|
|
215
208
|
end
|
|
216
209
|
|
|
217
210
|
end
|
|
218
211
|
|
|
219
|
-
|
|
220
212
|
def valid_screenshots_html()
|
|
221
213
|
|
|
222
|
-
app_screenshots_dir = File.join(@app_config_dir,
|
|
223
|
-
screenshots_path = File.join(app_screenshots_dir,
|
|
214
|
+
app_screenshots_dir = File.join(@app_config_dir, "fastlane/screenshots")
|
|
215
|
+
screenshots_path = File.join(app_screenshots_dir, "ios")
|
|
224
216
|
screenshots = Deliver::Loader.load_app_screenshots(screenshots_path, true)
|
|
225
217
|
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
app_itunes_file = File.join(app_itunes_dir, "app_itunes.json")
|
|
218
|
+
app_itunes_dir = File.join(@app_config_dir, "fastlane")
|
|
219
|
+
app_itunes_file = File.join(app_itunes_dir, "app_itunes.json")
|
|
229
220
|
app_itunes_json = JSON.parse(File.read(app_itunes_file))
|
|
230
221
|
|
|
231
|
-
|
|
232
|
-
|
|
233
222
|
# Validate
|
|
234
223
|
options = {}
|
|
235
|
-
options[:name] = {}
|
|
224
|
+
options[:name] = {}
|
|
236
225
|
options[:name]["en-US"] = app_itunes_json["app_info"]["app_info_localization"]["en-US"]["name"]
|
|
237
|
-
options[:description] = {}
|
|
226
|
+
options[:description] = {}
|
|
238
227
|
|
|
239
|
-
app_itunes_json["app_info"]["app_info_localization"].each do |lang
|
|
228
|
+
app_itunes_json["app_info"]["app_info_localization"].each do |lang, data|
|
|
240
229
|
options[:description][lang] = ""
|
|
241
230
|
end
|
|
242
|
-
|
|
231
|
+
|
|
243
232
|
html_path = Deliver::HtmlGenerator.new.render(options, screenshots, app_itunes_dir)
|
|
244
233
|
system("open '#{html_path}'")
|
|
245
234
|
end
|
|
246
235
|
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
def download_iap_info(temp_bundle_id:nil)
|
|
236
|
+
def download_iap_info(temp_bundle_id: nil)
|
|
251
237
|
|
|
252
238
|
end
|
|
253
239
|
|
|
254
|
-
|
|
255
240
|
end
|
|
256
241
|
end
|
|
257
242
|
end
|
|
258
|
-
end
|
|
243
|
+
end
|