pindo 4.6.9 → 4.7.1

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.
Files changed (144) hide show
  1. checksums.yaml +4 -4
  2. data/lib/pindo/base/aeshelper.rb +75 -0
  3. data/lib/pindo/base/funlog.rb +89 -0
  4. data/lib/pindo/base/githelper.rb +35 -18
  5. data/lib/pindo/base/plaininformative.rb +3 -0
  6. data/lib/pindo/base/standarderror.rb +1 -0
  7. data/lib/pindo/base/xcodeconst.rb +251 -0
  8. data/lib/pindo/client/applovinclient.rb +6 -3
  9. data/lib/pindo/client/aws3sclient.rb +33 -46
  10. data/lib/pindo/client/bossclient.rb +1 -1
  11. data/lib/pindo/client/bossconfigclient.rb +3 -3
  12. data/lib/pindo/client/pgyerclient.rb +159 -100
  13. data/lib/pindo/command/appstore/iap.rb +43 -0
  14. data/lib/pindo/command/appstore/itcapp.rb +41 -0
  15. data/lib/pindo/command/appstore/metadata.rb +43 -0
  16. data/lib/pindo/command/appstore/screenshots.rb +43 -0
  17. data/lib/pindo/command/appstore/upload.rb +40 -0
  18. data/lib/pindo/command/appstore.rb +17 -0
  19. data/lib/pindo/command/deploy/build.rb +109 -0
  20. data/lib/pindo/{deploy → command/deploy}/bundleid.rb +1 -1
  21. data/lib/pindo/command/deploy/cert.rb +183 -0
  22. data/lib/pindo/command/deploy/configproj.rb +105 -0
  23. data/lib/pindo/{deploy → command/deploy}/getitcinfo.rb +1 -1
  24. data/lib/pindo/{deploy → command/deploy}/iap.rb +30 -9
  25. data/lib/pindo/{deploy → command/deploy}/itcapp.rb +0 -1
  26. data/lib/pindo/{deploy → command/deploy}/itcinfo.rb +2 -3
  27. data/lib/pindo/{deploy → command/deploy}/pem.rb +3 -2
  28. data/lib/pindo/{deploy → command/deploy}/resign.rb +14 -63
  29. data/lib/pindo/command/deploy.rb +44 -0
  30. data/lib/pindo/{dev → command/dev}/autobuild.rb +28 -76
  31. data/lib/pindo/{dev → command/dev}/autoresign.rb +21 -64
  32. data/lib/pindo/command/dev/build.rb +94 -0
  33. data/lib/pindo/{dev → command/dev}/createbuild.rb +0 -2
  34. data/lib/pindo/{dev → command/dev}/debug.rb +6 -2
  35. data/lib/pindo/command/dev/pgyercert.rb +75 -0
  36. data/lib/pindo/command/dev.rb +26 -0
  37. data/lib/pindo/command/env.rb +17 -0
  38. data/lib/pindo/{ipa → command/ipa}/autoresign.rb +22 -70
  39. data/lib/pindo/{ipa → command/ipa}/import.rb +48 -103
  40. data/lib/pindo/{ipa → command/ipa}/output.rb +43 -135
  41. data/lib/pindo/command/ipa.rb +16 -0
  42. data/lib/pindo/{lib → command/lib}/update.rb +23 -14
  43. data/lib/pindo/command/lib.rb +16 -0
  44. data/lib/pindo/{pgyer → command/pgyer}/apptest.rb +7 -29
  45. data/lib/pindo/{pgyer → command/pgyer}/comment.rb +7 -30
  46. data/lib/pindo/{pgyer → command/pgyer}/download.rb +35 -30
  47. data/lib/pindo/{pgyer → command/pgyer}/login.rb +3 -4
  48. data/lib/pindo/command/pgyer/resign.rb +111 -0
  49. data/lib/pindo/command/pgyer/upload.rb +123 -0
  50. data/lib/pindo/command/pgyer.rb +18 -0
  51. data/lib/pindo/{repo.rb → command/repo.rb} +4 -4
  52. data/lib/pindo/{utils → command/utils}/applovin.rb +43 -33
  53. data/lib/pindo/{utils → command/utils}/boss.rb +3 -3
  54. data/lib/pindo/command/utils/icon.rb +81 -0
  55. data/lib/pindo/{utils → command/utils}/renewproj.rb +1 -0
  56. data/lib/pindo/command/utils.rb +26 -0
  57. data/lib/pindo/command.rb +23 -26
  58. data/lib/pindo/config/pindoconfig.rb +27 -0
  59. data/lib/pindo/module/appselect.rb +9 -8
  60. data/lib/pindo/module/build/swarkhelper.rb +95 -0
  61. data/lib/pindo/module/cert/certhelper.rb +187 -0
  62. data/lib/pindo/module/cert/keychainhelper.rb +150 -0
  63. data/lib/pindo/module/{pemcreate.rb → cert/pemhelper.rb} +3 -1
  64. data/lib/pindo/module/cert/provisioninghelper.rb +137 -0
  65. data/lib/pindo/module/cert/xcodecerthelper.rb +326 -0
  66. data/lib/pindo/module/{pgyerhelper.rb → pgyer/pgyerhelper.rb} +246 -36
  67. data/lib/pindo/module/xcode/xcodeappconfig.rb +188 -0
  68. data/lib/pindo/module/xcode/xcodebuildconfig.rb +12 -0
  69. data/lib/pindo/module/xcode/xcodebuildhelper.rb +312 -0
  70. data/lib/pindo/module/xcode/xcoderesconstant.rb +248 -0
  71. data/lib/pindo/module/xcode/xcodereshandler.rb +198 -0
  72. data/lib/pindo/module/xcode/xcodereshelper.rb +119 -0
  73. data/lib/pindo/options/appconfigoptions.rb +1 -0
  74. data/lib/pindo/options/deployoptions.rb +38 -42
  75. data/lib/pindo/version.rb +1 -1
  76. metadata +110 -97
  77. data/lib/pindo/deploy/Fastfile +0 -233
  78. data/lib/pindo/deploy/build.rb +0 -167
  79. data/lib/pindo/deploy/cert.rb +0 -508
  80. data/lib/pindo/deploy/configproj.rb +0 -89
  81. data/lib/pindo/deploy.rb +0 -44
  82. data/lib/pindo/dev.rb +0 -23
  83. data/lib/pindo/env/flutter.rb +0 -59
  84. data/lib/pindo/env/flutter.sh +0 -116
  85. data/lib/pindo/env.rb +0 -17
  86. data/lib/pindo/ipa.rb +0 -22
  87. data/lib/pindo/lib.rb +0 -18
  88. data/lib/pindo/module/buildconfighelper.rb +0 -13
  89. data/lib/pindo/module/buildhelper.rb +0 -76
  90. data/lib/pindo/module/config_project.sh +0 -143
  91. data/lib/pindo/module/configprojhelper.rb +0 -631
  92. data/lib/pindo/module/icon_contents.json +0 -116
  93. data/lib/pindo/module/imessage_icon.json +0 -91
  94. data/lib/pindo/module/imgset_contents.json +0 -21
  95. data/lib/pindo/module/launchimg_contents.json +0 -21
  96. data/lib/pindo/module/xcodebuildpre.rb +0 -258
  97. data/lib/pindo/pgyer/upload.rb +0 -234
  98. data/lib/pindo/pgyer.rb +0 -17
  99. data/lib/pindo/utils/icon.rb +0 -91
  100. data/lib/pindo/utils/icon.sh +0 -133
  101. data/lib/pindo/utils/podindex.rb +0 -56
  102. data/lib/pindo/utils/podindex.sh +0 -30
  103. data/lib/pindo/utils.rb +0 -29
  104. /data/lib/pindo/{deploy → command/deploy}/check.rb +0 -0
  105. /data/lib/pindo/{deploy → command/deploy}/confusecode.rb +0 -0
  106. /data/lib/pindo/{deploy → command/deploy}/confuseproj.rb +0 -0
  107. /data/lib/pindo/{deploy → command/deploy}/fabric.rb +0 -0
  108. /data/lib/pindo/{deploy → command/deploy}/initconfig.rb +0 -0
  109. /data/lib/pindo/{deploy → command/deploy}/pullconfig.rb +0 -0
  110. /data/lib/pindo/{deploy → command/deploy}/pushconfig.rb +0 -0
  111. /data/lib/pindo/{deploy → command/deploy}/quswark.rb +0 -0
  112. /data/lib/pindo/{deploy → command/deploy}/quswauth.rb +0 -0
  113. /data/lib/pindo/{deploy → command/deploy}/reportbug.rb +0 -0
  114. /data/lib/pindo/{deploy → command/deploy}/tag.rb +0 -0
  115. /data/lib/pindo/{deploy → command/deploy}/updateconfig.rb +0 -0
  116. /data/lib/pindo/{deploy → command/deploy}/uploadipa.rb +0 -0
  117. /data/lib/pindo/{dev → command/dev}/confusecode.rb +0 -0
  118. /data/lib/pindo/{dev → command/dev}/confuseproj.rb +0 -0
  119. /data/lib/pindo/{dev → command/dev}/pub.rb +0 -0
  120. /data/lib/pindo/{dev → command/dev}/renewcert.rb +0 -0
  121. /data/lib/pindo/{env → command/env}/dreamstudio.rb +0 -0
  122. /data/lib/pindo/{env → command/env}/quarkenv.rb +0 -0
  123. /data/lib/pindo/{env → command/env}/swarkenv.rb +0 -0
  124. /data/lib/pindo/{env → command/env}/workhard.rb +0 -0
  125. /data/lib/pindo/{lib → command/lib}/forcepush.rb +0 -0
  126. /data/lib/pindo/{lib → command/lib}/lint.rb +0 -0
  127. /data/lib/pindo/{lib → command/lib}/push.rb +0 -0
  128. /data/lib/pindo/{repo → command/repo}/clone.rb +0 -0
  129. /data/lib/pindo/{repo → command/repo}/create.rb +0 -0
  130. /data/lib/pindo/{repo → command/repo}/login.rb +0 -0
  131. /data/lib/pindo/{repo → command/repo}/search.rb +0 -0
  132. /data/lib/pindo/{setup.rb → command/setup.rb} +0 -0
  133. /data/lib/pindo/{upgrade.rb → command/upgrade.rb} +0 -0
  134. /data/lib/pindo/{utils → command/utils}/clearcert.rb +0 -0
  135. /data/lib/pindo/{utils → command/utils}/device.rb +0 -0
  136. /data/lib/pindo/{utils → command/utils}/tgate.rb +0 -0
  137. /data/lib/pindo/{utils → command/utils}/xcassets.rb +0 -0
  138. /data/lib/pindo/{utils → command/utils}/xcassets.sh +0 -0
  139. /data/lib/pindo/module/{appstore_in_app_purchase.rb → appstore/appstore_in_app_purchase.rb} +0 -0
  140. /data/lib/pindo/module/{appstore_metadata_connect_api_helper.rb → appstore/appstore_metadata_connect_api_helper.rb} +0 -0
  141. /data/lib/pindo/module/{appstore_metadata_fastlane_helper.rb → appstore/appstore_metadata_fastlane_helper.rb} +0 -0
  142. /data/lib/pindo/module/{iap_tier.json → appstore/iap_tier.json} +0 -0
  143. /data/lib/pindo/module/{commonconfuseproj.rb → build/commonconfuseproj.rb} +0 -0
  144. /data/lib/pindo/module/{xcodehelper.rb → xcode/xcodehelper.rb} +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 78cbf0c3494294a495f70d4d68732ab4d7fcb111efb47c13832bcc5570fdda49
4
- data.tar.gz: 9b6072f6a35def3e42a09f36796bbe4a4999e2157d76225864ba3325a55d6d1c
3
+ metadata.gz: 5d5ed09cbd0c1dd5f1fae766fd8d97f98e786b25d34056f8065efede5f478cc0
4
+ data.tar.gz: b75e1716c757c7d2eabcb5c757c5ea8df886f4e1338cf984d04232a6acd180b6
5
5
  SHA512:
6
- metadata.gz: cb6837bd54cd72e830010a5d263437913af930b6c3e9ce1c15ee9450a0699fa58e74b3cc14de69f6979efd147b051536d4698e36eebecfa47c6b6d6c97f5f731
7
- data.tar.gz: 44b8eefc1b54857a60f20a72026f790bf134110976b97415dee6419086336cd7f30472cccdc37b7dda501a878609a279d55dbd5f8c9ca21eb99cf47dc773eb8e
6
+ metadata.gz: 670591b6329e7d53bdb36156a3dcea8cac1a1477ada5f1451e22d1e457cdc0c91f34c4a5c705844902c48f259e06fec7bb7800f003e41702f20b1e8026cbd14c
7
+ data.tar.gz: 1327366d3216fd62a113997380b48bf66797092cb81a374557abb9d50c942278efba586751134babafa27810cad6b30eeed5d7d367eadf7071e00c5f9c081ab5
@@ -1,9 +1,37 @@
1
+ require 'openssl'
2
+
1
3
  module Pindo
2
4
 
3
5
 
4
6
  module AESHelper
5
7
 
6
8
 
9
+ def self.fetch_password(keychain_name:nil)
10
+ # password = ENV["MATCH_PASSWORD"]
11
+
12
+ server_name = ["pindo", keychain_name].join("_")
13
+
14
+ item = Security::InternetPassword.find(server: server_name)
15
+
16
+ password = item.password if item
17
+
18
+ unless password
19
+
20
+ password = FastlaneCore::Helper.ask_password(message: "请输入证书仓库的加密密码: ", confirm: true)
21
+ Security::InternetPassword.add(server_name, "", password)
22
+ end
23
+ return password
24
+ end
25
+
26
+ def self.delete_password(keychain_name:nil)
27
+ server_name = ["pindo", keychain_name].join("_")
28
+ Security::InternetPassword.delete(server_name)
29
+ end
30
+
31
+ def self.store_password(keychain_name:nil, password:nil)
32
+ server_name = ["pindo", keychain_name].join("_")
33
+ Security::InternetPassword.add(server_name, "", password)
34
+ end
7
35
 
8
36
 
9
37
  def self.aes_128_ecb_encrypt(key, encrypted_string)
@@ -24,6 +52,53 @@ module Pindo
24
52
  end
25
53
 
26
54
 
55
+ def self.encrypt_specific_file(src_file: nil, password: nil, output_dir: nil)
56
+ UI.user_error!("No password supplied") if password.to_s.strip.length == 0
57
+
58
+ data_to_encrypt = File.binread(path)
59
+ salt = SecureRandom.random_bytes(8)
60
+
61
+ # The :: is important, as there is a name clash
62
+ cipher = ::OpenSSL::Cipher.new('AES-256-CBC')
63
+ cipher.encrypt
64
+ cipher.pkcs5_keyivgen(password, salt, 1, "MD5")
65
+ encrypted_data = "Salted__" + salt + cipher.update(data_to_encrypt) + cipher.final
66
+
67
+ destfile = File.join(output_dir, File.basename(src_file))
68
+ File.write(destfile, Base64.encode64(encrypted_data))
69
+ return destfile
70
+ rescue error
71
+ puts path
72
+ raise Informative, error
73
+ end
74
+
75
+ # The encryption parameters in this implementations reflect the old behavior which depended on the users' local OpenSSL version
76
+ # 1.0.x OpenSSL and earlier versions use MD5, 1.1.0c and newer uses SHA256, we try both before giving an error
77
+ def self.decrypt_specific_file(src_file: nil, password: nil, output_dir: nil, hash_algorithm: "MD5")
78
+
79
+ begin
80
+ stored_data = Base64.decode64(File.read(src_file))
81
+ salt = stored_data[8..15]
82
+ data_to_decrypt = stored_data[16..-1]
83
+
84
+ decipher = ::OpenSSL::Cipher.new('AES-256-CBC')
85
+ decipher.decrypt
86
+ decipher.pkcs5_keyivgen(password, salt, 1, hash_algorithm)
87
+
88
+ decrypted_data = decipher.update(data_to_decrypt) + decipher.final
89
+ destfile = File.join(output_dir, File.basename(src_file))
90
+ File.binwrite(destfile, decrypted_data)
91
+ return destfile
92
+ rescue => error
93
+ fallback_hash_algorithm = "SHA256"
94
+ if hash_algorithm != fallback_hash_algorithm
95
+ decrypt_specific_file(src_file: src_file, password: password, hash_algorithm: fallback_hash_algorithm)
96
+ else
97
+ Funlog.instance.fancyinfo_error("解析文件失败: #{src_file}")
98
+ return nil
99
+ end
100
+ end
101
+ end
27
102
 
28
103
  end
29
104
 
@@ -0,0 +1,89 @@
1
+ require "tty-spinner"
2
+
3
+ module Pindo
4
+
5
+ class Funlog
6
+
7
+
8
+ def create_spinner(info_key:nil)
9
+ # spinner = TTY::Spinner.new("[:spinner] :#{info_key}", format: :dots_2, error_mark: "❌", success_mark: "✅")
10
+ spinner = TTY::Spinner.new("[:spinner] :#{info_key}", format: :dots_2, error_mark: "❌")
11
+ spinner
12
+ end
13
+
14
+ def spinner_log_handle
15
+ if @spinner_log.nil?
16
+ @spinner_log = create_spinner(info_key:"title")
17
+ end
18
+ @spinner_log
19
+ end
20
+
21
+
22
+
23
+ def fancyinfo_start(*args)
24
+ message = args.join(" ")
25
+ spinner_log_handle.update(title:message)
26
+ spinner_log_handle.auto_spin
27
+ @spinner_log
28
+ end
29
+
30
+
31
+ def fancyinfo_update(*args)
32
+ message = args.join(" ")
33
+ spinner_log_handle.update(title:message)
34
+ spinner_log_handle.spin
35
+ @spinner_log
36
+ end
37
+
38
+ def fancyinfo_success(*args)
39
+ message = args.join(" ")
40
+ spinner_log_handle.update(title:message)
41
+ spinner_log_handle.success
42
+ @spinner_log =nil
43
+ end
44
+
45
+ def fancyinfo_error(*args)
46
+ message = args.join(" ")
47
+ spinner_log_handle.update(title:message)
48
+ spinner_log_handle.error
49
+ @spinner_log =nil
50
+ end
51
+
52
+ #-------------------------------------------------------------------------#
53
+ #-------------------------------------------------------------------------#
54
+ # @!group Singleton
55
+
56
+ # @return [Config] the current config instance creating one if needed.
57
+ #
58
+ def self.reload_instance
59
+ @instance = new
60
+ end
61
+
62
+ def self.instance
63
+ @instance ||= new
64
+ end
65
+
66
+ # Sets the current config instance. If set to nil the config will be
67
+ # recreated when needed.
68
+ #
69
+ # @param [Config, Nil] the instance.
70
+ #
71
+ # @return [void]
72
+ #
73
+ class << self
74
+ attr_writer :instance
75
+ end
76
+
77
+ # Provides support for accessing the configuration instance in other
78
+ # scopes.
79
+ #
80
+ module Mixin
81
+ def pindo_log_instance
82
+ Funlog.instance
83
+ end
84
+ end
85
+
86
+ end
87
+
88
+
89
+ end
@@ -199,6 +199,11 @@ module Pindo
199
199
  def git_latest_commit_id(local_repo_dir:nil)
200
200
 
201
201
  current=Dir.pwd
202
+
203
+ unless File.exist?(File::join(local_repo_dir, ".git"))
204
+ return nil
205
+ end
206
+
202
207
  commit_id = nil
203
208
 
204
209
  if File.exist?(local_repo_dir)
@@ -218,13 +223,14 @@ module Pindo
218
223
 
219
224
  def getcode_to_dir(reponame:nil, remote_url:nil, path: nil, new_branch:"master", new_tag: nil)
220
225
 
221
- current=Dir.pwd
222
- # puts reponame
223
- # puts remote_url
224
- # puts path
226
+ current=Dir.pwd
227
+ local_repo_dir = File::join(path, reponame)
228
+
229
+ Funlog.instance.fancyinfo_update("开始更新仓库:#{local_repo_dir}...")
230
+
231
+ begin
232
+
225
233
 
226
- local_repo_dir = File::join(path, reponame)
227
- puts "正在更新仓库: #{local_repo_dir}"
228
234
  if !reponame.empty? && !remote_url.empty? && !path.empty?
229
235
 
230
236
  if File.exist?(local_repo_dir)
@@ -243,15 +249,10 @@ module Pindo
243
249
 
244
250
  git!(%W(-C #{local_repo_dir} fetch origin --progress))
245
251
  else
246
- puts "Cloning `#{remote_url}` into `#{local_repo_dir}`."
247
252
  git! ['clone', remote_url, local_repo_dir]
248
253
  end
249
254
 
250
255
  Dir.chdir(local_repo_dir)
251
- if !remote_branch_exists?(local_repo_dir:local_repo_dir, branch:new_branch)
252
- raise Informative, "仓库中的#{new_branch}分支不存在 !!!"
253
- end
254
-
255
256
  current_branch = git!(%W(-C #{local_repo_dir} rev-parse --abbrev-ref HEAD)).strip
256
257
  if current_branch.eql?(new_branch)
257
258
  git!(%W(-C #{local_repo_dir} reset --hard origin/#{new_branch}))
@@ -263,7 +264,11 @@ module Pindo
263
264
  if local_branch_exists?(local_repo_dir:local_repo_dir, branch:new_branch)
264
265
  git!(%W(-C #{local_repo_dir} checkout #{new_branch}))
265
266
  else
266
- git!(%W(-C #{local_repo_dir} checkout -b #{new_branch}))
267
+ if !remote_branch_exists?(local_repo_dir:local_repo_dir, branch:new_branch)
268
+ git!(%W(-C #{local_repo_dir} checkout -b #{new_branch}))
269
+ else
270
+ raise Informative, "仓库中的#{new_branch}分支不存在 !!!"
271
+ end
267
272
  end
268
273
  git!(%W(-C #{local_repo_dir} branch --set-upstream-to=origin/#{new_branch} #{new_branch}))
269
274
  git!(%W(-C #{local_repo_dir} pull))
@@ -279,9 +284,17 @@ module Pindo
279
284
  end
280
285
 
281
286
  end
287
+ $stdin.flush
288
+ Funlog.instance.fancyinfo_success("仓库#{local_repo_dir}更新完成!")
289
+ rescue StandardError => e
282
290
 
283
- Dir.chdir(current)
284
- return local_repo_dir
291
+ Funlog.instance.fancyinfo_error("仓库#{local_repo_dir}更新失败!")
292
+
293
+ raise Informative, e.to_s
294
+ end
295
+
296
+ Dir.chdir(current)
297
+ return local_repo_dir
285
298
  end
286
299
 
287
300
  def get_repo_base_name(repo_url:nil)
@@ -294,6 +307,7 @@ module Pindo
294
307
 
295
308
  def clong_buildconfig_repo(repo_name:nil)
296
309
 
310
+
297
311
  pindo_dir = File::expand_path(Pindoconfig.instance.pindo_dir)
298
312
  if !File.exist?(pindo_dir)
299
313
  FileUtils.mkdir(pindo_dir)
@@ -310,6 +324,9 @@ module Pindo
310
324
  url = File.join("https://gitee.com", repo_org_name, repo_name + ".git")
311
325
  getcode_to_dir(reponame:repo_name, remote_url: url, path:pindo_dir)
312
326
  config_repo_dir = File.join(pindo_dir, repo_name)
327
+
328
+
329
+
313
330
  return config_repo_dir
314
331
  end
315
332
 
@@ -390,12 +407,12 @@ module Pindo
390
407
  git! ['commit', '-m ' + "#{message}"]
391
408
  git! ['push']
392
409
  else
393
- puts "\n#{path}\n!!!仓库中文件未发生变化,无需提交!!!\n"
410
+ # puts "\n#{path}\n!!!仓库中文件未发生变化,无需提交!!!\n"
394
411
  end
395
412
  else
396
413
  files_list = git! ['ls-files', '--other', '--modified', '--exclude-standard'] || []
397
- puts "提交如下内容:"
398
- puts files_list
414
+ # puts "提交如下内容:"
415
+ # puts files_list
399
416
  if !files_list.nil? && files_list.size > 0
400
417
  git! ['add', '-A']
401
418
  git! ['commit', '-m ' + "#{message}"]
@@ -406,7 +423,7 @@ module Pindo
406
423
  end
407
424
 
408
425
  rescue => error
409
- puts(error.to_s)
426
+ # puts(error.to_s)
410
427
  raise Informative, "\n#{path}\n 仓库失败 !!!"
411
428
  end
412
429
 
@@ -1,3 +1,6 @@
1
+ require 'pindo/base/standarderror'
2
+
3
+
1
4
  module Pindo
2
5
 
3
6
  require 'claide'
@@ -1,3 +1,4 @@
1
+
1
2
  module Pindo
2
3
 
3
4
  require 'pindo/version'
@@ -0,0 +1,251 @@
1
+ require 'openssl'
2
+
3
+ module Pindo
4
+
5
+
6
+ module XcodoeConst
7
+
8
+ def self.xcode_ios_icon_json
9
+ model_data = {
10
+ "images" => [
11
+ {
12
+ "size" => "20x20",
13
+ "idiom" => "iphone",
14
+ "filename" => "icon20@2x.png",
15
+ "scale" => "2x"
16
+ },
17
+ {
18
+ "size" => "20x20",
19
+ "idiom" => "iphone",
20
+ "filename" => "icon20@3x.png",
21
+ "scale" => "3x"
22
+ },
23
+ {
24
+ "size" => "29x29",
25
+ "idiom" => "iphone",
26
+ "filename" => "icon29@2x.png",
27
+ "scale" => "2x"
28
+ },
29
+ {
30
+ "size" => "29x29",
31
+ "idiom" => "iphone",
32
+ "filename" => "icon29@3x.png",
33
+ "scale" => "3x"
34
+ },
35
+ {
36
+ "size" => "40x40",
37
+ "idiom" => "iphone",
38
+ "filename" => "icon40@2x.png",
39
+ "scale" => "2x"
40
+ },
41
+ {
42
+ "size" => "40x40",
43
+ "idiom" => "iphone",
44
+ "filename" => "icon40@3x.png",
45
+ "scale" => "3x"
46
+ },
47
+ {
48
+ "size" => "60x60",
49
+ "idiom" => "iphone",
50
+ "filename" => "icon60@2x.png",
51
+ "scale" => "2x"
52
+ },
53
+ {
54
+ "size" => "60x60",
55
+ "idiom" => "iphone",
56
+ "filename" => "icon60@3x.png",
57
+ "scale" => "3x"
58
+ },
59
+ {
60
+ "size" => "20x20",
61
+ "idiom" => "ipad",
62
+ "filename" => "icon20@1x.png",
63
+ "scale" => "1x"
64
+ },
65
+ {
66
+ "size" => "20x20",
67
+ "idiom" => "ipad",
68
+ "filename" => "icon20@2x.png",
69
+ "scale" => "2x"
70
+ },
71
+ {
72
+ "size" => "29x29",
73
+ "idiom" => "ipad",
74
+ "filename" => "icon29@1x.png",
75
+ "scale" => "1x"
76
+ },
77
+ {
78
+ "size" => "29x29",
79
+ "idiom" => "ipad",
80
+ "filename" => "icon29@2x.png",
81
+ "scale" => "2x"
82
+ },
83
+ {
84
+ "size" => "40x40",
85
+ "idiom" => "ipad",
86
+ "filename" => "icon40@1x.png",
87
+ "scale" => "1x"
88
+ },
89
+ {
90
+ "size" => "40x40",
91
+ "idiom" => "ipad",
92
+ "filename" => "icon40@2x.png",
93
+ "scale" => "2x"
94
+ },
95
+ {
96
+ "size" => "76x76",
97
+ "idiom" => "ipad",
98
+ "filename" => "icon76@1x.png",
99
+ "scale" => "1x"
100
+ },
101
+ {
102
+ "size" => "76x76",
103
+ "idiom" => "ipad",
104
+ "filename" => "icon76@2x.png",
105
+ "scale" => "2x"
106
+ },
107
+ {
108
+ "size" => "83.5x83.5",
109
+ "idiom" => "ipad",
110
+ "filename" => "icon83_5@2x.png",
111
+ "scale" => "2x"
112
+ },
113
+ {
114
+ "size" => "1024x1024",
115
+ "idiom" => "ios-marketing",
116
+ "filename" => "icon1024@1x.png",
117
+ "scale" => "1x"
118
+ }
119
+ ],
120
+ "info" => {
121
+ "version" => 1,
122
+ "author" => "xcode"
123
+ }
124
+ }
125
+ return model_data
126
+ end
127
+
128
+ def self.xcode_ios_imessage_icon_json
129
+ model_data = {
130
+ "images" => [
131
+ {
132
+ "size" => "29x29",
133
+ "idiom" => "iphone",
134
+ "filename" => "icon29@2x.png",
135
+ "scale" => "2x"
136
+ },
137
+ {
138
+ "size" => "29x29",
139
+ "idiom" => "iphone",
140
+ "filename" => "icon29@3x.png",
141
+ "scale" => "3x"
142
+ },
143
+ {
144
+ "size" => "60x45",
145
+ "idiom" => "iphone",
146
+ "filename" => "icon60_45@2x.png",
147
+ "scale" => "2x"
148
+ },
149
+ {
150
+ "size" => "60x45",
151
+ "idiom" => "iphone",
152
+ "filename" => "icon60_45@3x.png",
153
+ "scale" => "3x"
154
+ },
155
+ {
156
+ "size" => "29x29",
157
+ "idiom" => "ipad",
158
+ "filename" => "icon29@2x.png",
159
+ "scale" => "2x"
160
+ },
161
+ {
162
+ "size" => "67x50",
163
+ "idiom" => "ipad",
164
+ "filename" => "icon67_50@2x.png",
165
+ "scale" => "2x"
166
+ },
167
+ {
168
+ "size" => "74x55",
169
+ "idiom" => "ipad",
170
+ "filename" => "icon74_55@2x.png",
171
+ "scale" => "2x"
172
+ },
173
+ {
174
+ "size" => "1024x1024",
175
+ "idiom" => "ios-marketing",
176
+ "filename" => "icon1024@1x.png",
177
+ "scale" => "1x"
178
+ },
179
+ {
180
+ "size" => "27x20",
181
+ "idiom" => "universal",
182
+ "filename" => "icon27_20@2x.png",
183
+ "scale" => "2x",
184
+ "platform" => "ios"
185
+ },
186
+ {
187
+ "size" => "27x20",
188
+ "idiom" => "universal",
189
+ "filename" => "icon27_20@3x.png",
190
+ "scale" => "3x",
191
+ "platform" => "ios"
192
+ },
193
+ {
194
+ "size" => "32x24",
195
+ "idiom" => "universal",
196
+ "filename" => "icon32_24@2x.png",
197
+ "scale" => "2x",
198
+ "platform" => "ios"
199
+ },
200
+ {
201
+ "size" => "32x24",
202
+ "idiom" => "universal",
203
+ "filename" => "icon32_24@3x.png",
204
+ "scale" => "3x",
205
+ "platform" => "ios"
206
+ },
207
+ {
208
+ "size" => "1024x768",
209
+ "idiom" => "ios-marketing",
210
+ "filename" => "icon1024_768@1x.png",
211
+ "scale" => "1x",
212
+ "platform" => "ios"
213
+ }
214
+ ],
215
+ "info" => {
216
+ "version" => 1,
217
+ "author" => "xcode"
218
+ }
219
+ }
220
+ return model_data
221
+ end
222
+
223
+
224
+
225
+ XCODE_IOS_LAUNCHIMG_JSON = {
226
+ "images" => [
227
+ {
228
+ "idiom" => "universal",
229
+ "scale" => "1x"
230
+ },
231
+ {
232
+ "idiom" => "universal",
233
+ "filename" => "w768_h1024@2x.png",
234
+ "scale" => "2x"
235
+ },
236
+ {
237
+ "idiom" => "universal",
238
+ "scale" => "3x"
239
+ }
240
+ ],
241
+ "info" => {
242
+ "version" => 1,
243
+ "author" => "xcode"
244
+ }
245
+ }
246
+
247
+
248
+ end
249
+
250
+
251
+ end
@@ -113,8 +113,11 @@ module Pindo
113
113
  result_data = JSON.parse(res.body)
114
114
 
115
115
  end
116
- puts JSON.pretty_generate(result_data)
116
+ # puts JSON.pretty_generate(result_data)
117
+
118
+ # return result_data
117
119
 
120
+ return nil
118
121
  end
119
122
 
120
123
 
@@ -144,9 +147,9 @@ module Pindo
144
147
  if !res.body.nil?
145
148
  result_data = JSON.parse(res.body)
146
149
  end
147
- puts JSON.pretty_generate(result_data)
150
+ # puts JSON.pretty_generate(result_data)
148
151
 
149
- return result_data
152
+ return nil
150
153
 
151
154
  end
152
155