fastlane-plugin-zhuixi_build_app 1.0.2 → 1.0.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7fe2a794f18890b8fee8f284b2f82f6be269c081344d7b8a9dbefcca4f972a78
4
- data.tar.gz: f0f5896d4e538b9ddf31b65eea1af660c85c59b89196ecbcdbaaf272eff48f3e
3
+ metadata.gz: 75d72ab6ff7891ce8c66de90fd0ec51ba2ad3b4d5972386cf17273e1e027d1e1
4
+ data.tar.gz: c9335d5f0abf8b0774cf2babae44c69f19912a97b8b303c071ee86d6d42bcf01
5
5
  SHA512:
6
- metadata.gz: 2daaf3a7c685c50e2ed8cbb08c74f15fe399a732dfb63e119c8af5ef36f3c00e31927a9fb06fac2d8b115b3dd790bb69bf81f4cb3ee1949220f20fb891443e7b
7
- data.tar.gz: 79507ad983ab650ae583dc1f4f93cc2d6e5d1f3813fb43a6df9261bf63dfc3fa9406b0d81ebc81456e332acc18525de380162727e4ca1af3c07a5c075727b920
6
+ metadata.gz: b7452f8f39189e844ec28f367ce0caae3bad2cca4e605073f942651f61e6b24819705aa2dab631ae6e254ad3fb54a76844f78c64bfd4fa212f7eb08a43dc4b29
7
+ data.tar.gz: 02ba6a04716fe7b0eb0c9c0cc97db85e11d5d3effc1a8dd081e8a9daaa2e035cf128bab765ccce1ba7564274360c2a7b00a4387f5856c81f4f3ad7f8b7313f36
@@ -15,6 +15,8 @@ module Fastlane
15
15
  lane_context[:selectGameName] = app_file_config[:selectGameName]
16
16
  lane_context[:selectPlatformName] = app_file_config[:platform]
17
17
  lane_context[:ori_xcodeproj_path] = app_file_config[:ori_xcodeproj_path]
18
+ lane_context[:export_method] = app_file_config[:export_method]
19
+ lane_context[:provisioning_profile_name] = app_file_config[:provisioning_profile_name]
18
20
  UI.message("ZHUIXI---读取配置成功!app_file_path:\n#{app_file_path}")
19
21
  # 返回 account 和 password
20
22
  return { account: account, password: password }
@@ -108,15 +108,20 @@ module Fastlane
108
108
 
109
109
  # 如果 info_plist_data 没有 LSApplicationQueriesSchemes 配置,先创建一个空数组
110
110
  info_plist_data["LSApplicationQueriesSchemes"] ||= []
111
-
111
+ # 修改 Bundle Identifier 和 Display Name
112
+ info_plist_data["CFBundleIdentifier"] = lane_context[:configParams]["gamePackageName"]
113
+ info_plist_data["CFBundleDisplayName"] = lane_context[:configParams]["gamename"]
112
114
  # 3. 读取 TempInfo.plist 文件
113
115
  temp_info_plist_data = Plist.parse_xml(File.join(lane_context[:zhuixi_path], "TempInfo.plist"))
114
116
 
115
- # 添加 TempInfo.plist 中不存在的 LSApplicationQueriesSchemes 配置到 info.plist 文件
116
- temp_info_plist_data["LSApplicationQueriesSchemes"].each do |scheme|
117
- info_plist_data["LSApplicationQueriesSchemes"] << scheme unless info_plist_data["LSApplicationQueriesSchemes"].include?(scheme)
118
- end
117
+ # # 添加 TempInfo.plist 中不存在的 LSApplicationQueriesSchemes 配置到 info.plist 文件
118
+ # temp_info_plist_data["LSApplicationQueriesSchemes"].each do |scheme|
119
+ # info_plist_data["LSApplicationQueriesSchemes"] << scheme unless info_plist_data["LSApplicationQueriesSchemes"].include?(scheme)
120
+ # end
119
121
 
122
+ temp_info_plist_data.each do |key, value|
123
+ info_plist_data[key] = value
124
+ end
120
125
  # 5. 写入 info.plist 文件
121
126
  File.write(info_plist_absolute_path, info_plist_data.to_plist)
122
127
 
@@ -160,21 +165,39 @@ module Fastlane
160
165
  add_channel_sdk_library()
161
166
  end
162
167
  # 是否在动态库集合
163
- def self.isEmbedFramework(filename, setting)
164
- embedArc = ["boRanSDK.framework", "NyBugly.framework", "XHYSDK.framework"]
168
+ def self.isEmbedFramework(filename)
169
+ framework_path = filename.to_s
170
+ framework_name = File.basename(framework_path, ".*") # 提取 .framework 文件的名称
171
+ if lane_context[:platform_id] == 59 && framework_name == "boRanSDK"
172
+ # 在 .framework 目录中搜索与文件名相同的文件
173
+ file_path = Dir.glob("#{framework_path}/#{framework_name}").first
174
+
175
+ if file_path.nil?
176
+ UI.error("File not found for #{framework_name}.")
177
+ return false
178
+ end
165
179
 
166
- if !setting
167
- temp_name = filename.to_s
168
- else
169
- temp_name = filename.display_name
170
- end
171
- if !setting and temp_name.end_with?(embedArc[0], embedArc[1], embedArc[2])
172
- return true
173
- elsif setting and embedArc.include?(temp_name)
174
- return true
175
- else
176
- return false
180
+ # 使用 file 命令查看文件类型
181
+ file_output = sh("file #{file_path}")
182
+
183
+ # 检查文件类型中是否包含 "dynamic" 或 "shared",表示动态库
184
+ is_dynamic_library = file_output.include?("dynamic") || file_output.include?("shared")
185
+
186
+ if is_dynamic_library
187
+ # 文件是动态库
188
+ # 执行相应的操作
189
+ # ...
190
+ puts "文件是动态库 #{framework_name}"
191
+ return true
192
+ else
193
+ # 文件是静态库
194
+ # 执行其他操作
195
+ # ...
196
+ puts "文件是静态库 #{framework_name}"
197
+ return false
198
+ end
177
199
  end
200
+ return false
178
201
  end
179
202
 
180
203
  def self.add_channel_sdk_library()
@@ -235,7 +258,7 @@ module Fastlane
235
258
  end
236
259
  #项目中可能有多个copy files build phases,找到刚刚创建的那个,然后把xx.framework引入
237
260
 
238
- if !"".eql? lib_real_path and isEmbedFramework(filename, false)
261
+ if !"".eql? lib_real_path and isEmbedFramework(filename)
239
262
  lane_context[:target].copy_files_build_phases.each do |item|
240
263
  if item.name == "Embed Frameworks"
241
264
  #引入xx.framework
@@ -245,10 +268,8 @@ module Fastlane
245
268
  item.dst_subfolder_spec = "10"
246
269
  #勾上code sign on copy选项(默认是没勾上的)
247
270
  item.files.each do |e|
248
- if isEmbedFramework(e, true)
249
- e.settings = Hash.new
250
- e.settings["ATTRIBUTES"] = ["CodeSignOnCopy", "RemoveHeadersOnCopy"]
251
- end
271
+ e.settings = Hash.new
272
+ e.settings["ATTRIBUTES"] = ["CodeSignOnCopy", "RemoveHeadersOnCopy"]
252
273
  end
253
274
  end
254
275
  end
@@ -303,22 +324,33 @@ module Fastlane
303
324
  schemefile = File.basename(new_schemefilepath, ".xcscheme")
304
325
  end
305
326
  end
306
- lane_context[:project].save()
327
+ # lane_context[:project].save()
307
328
  # Find.find(File.join(lane_context[:cha_project_path], "xcuserdata")) do |schemefilepath|
308
329
  # if schemefilepath.include? ".xcscheme"
309
330
  # schemefile = schemefilepath
310
331
  # end
311
332
  # end
312
-
313
333
  # 执行 fastlane gym
334
+ # other_action.update_plist( # Updates the CLIENT_ID and GOOGLE_APP_ID string entries in the plist-file
335
+ # plist_path: File.join(lane_context[:zhuixi_path], "Info.plist"),
336
+ # block: proc do |plist|
337
+ # plist["CFBundleDisplayName"] = lane_context[:configParams]["gamename"]
338
+ # plist["CFBundleIdentifier"] = lane_context[:configParams]["gamePackageName"]
339
+ # end,
340
+ # )
341
+ lane_context[:project].save()
314
342
  puts lane_context[:configParams]
315
343
  timestamp = Time.now.strftime("%Y%m%d%H%M%S")
316
344
  output_name = lane_context[:configParams]["gamename"] + "_" + lane_context[:platform_id].to_s + "_" + lane_context[:selectPlatformName] + "_" + timestamp
317
345
  other_action.gym(
318
346
  project: lane_context[:cha_project_path],
319
- silent: true,
320
347
  output_name: output_name,
321
- include_symbols: false,
348
+ export_method: lane_context[:export_method],
349
+ export_options: {
350
+ provisioningProfiles: {
351
+ lane_context[:configParams]["gamePackageName"] => lane_context[:provisioning_profile_name],
352
+ },
353
+ },
322
354
  )
323
355
  end
324
356
  end
@@ -1,5 +1,5 @@
1
1
  module Fastlane
2
2
  module ZhuixiBuildApp
3
- VERSION = "1.0.2"
3
+ VERSION = "1.0.6"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fastlane-plugin-zhuixi_build_app
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 1.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - RedSevenMale
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-08-07 00:00:00.000000000 Z
11
+ date: 2023-08-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -169,7 +169,7 @@ files:
169
169
  - lib/fastlane/plugin/zhuixi_build_app/actions/zhuixi_build_app_action.rb
170
170
  - lib/fastlane/plugin/zhuixi_build_app/helper/zhuixi_build_app_helper.rb
171
171
  - lib/fastlane/plugin/zhuixi_build_app/version.rb
172
- homepage:
172
+ homepage: https://github.com/RedSevenMale/fastlane-plugin-zhuixi_build_app
173
173
  licenses:
174
174
  - MIT
175
175
  metadata: {}