mmine 0.9.7 → 0.9.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/mmine +2 -2
- data/lib/mmine/notification_extension_integrator.rb +42 -21
- data/lib/mmine/version.rb +2 -2
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6f35cd02c0cba4408c3fd8747bdb3e791e91120ebe4bcd1d26033cb70d6b59f2
|
4
|
+
data.tar.gz: 0ee9567a25d45a1c366faa4c25b17149860233fdb704fb97c7c31a3edf977cb5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cc6648442c1c45b85f9279066c3b5aa7e01c065752af509775902dca81317b94ce0a44477a1afd08db78e42df8b0bceccff43dff8de1e108faaa78dedaffc4aa
|
7
|
+
data.tar.gz: fa5fdbac1811500e5bd859b70e77e5f215cea8073e4e36a7b40ae72dc31214eb5869b4810ad7662b41104ddbaed817f868ca773784985617064763a81b04901e
|
data/bin/mmine
CHANGED
@@ -46,7 +46,7 @@ when "integrate"
|
|
46
46
|
missing = mandatory.select{ |param| options[param].nil? }
|
47
47
|
unless missing.empty?
|
48
48
|
raise OptionParser::MissingArgument.new(missing.join(', '))
|
49
|
-
end
|
49
|
+
end
|
50
50
|
integrator = NotificationExtensionIntegrator.new(options[:"application-code"], options[:project], options[:"app-group"], options[:target], options[:cordova] || false, options[:xcframework] || false, options[:"swift-version"] || "5")
|
51
51
|
integrator.logger = Logger.new(STDOUT)
|
52
52
|
integrator.logger.formatter = proc do |severity, datetime, progname, msg|
|
@@ -62,7 +62,7 @@ when "integrate"
|
|
62
62
|
puts $!.to_s
|
63
63
|
puts integrate_parse
|
64
64
|
exit
|
65
|
-
end
|
65
|
+
end
|
66
66
|
else
|
67
67
|
if first_arg == nil
|
68
68
|
puts "Please specify a command. For example 'mmine integrate'"
|
@@ -59,8 +59,8 @@ class NotificationExtensionIntegrator
|
|
59
59
|
setup_user_app_group_value
|
60
60
|
setup_background_modes_plist_value
|
61
61
|
|
62
|
-
|
63
|
-
|
62
|
+
setup_target_capabilities_for_extension_target
|
63
|
+
setup_target_capabilities_for_main_target
|
64
64
|
|
65
65
|
setup_embed_extension_action
|
66
66
|
setup_main_target_dependency
|
@@ -71,12 +71,12 @@ class NotificationExtensionIntegrator
|
|
71
71
|
erease_bridging_header
|
72
72
|
|
73
73
|
if @cordova
|
74
|
-
setup_entitlements(
|
75
|
-
resolve_absolute_paths(["$(PROJECT_DIR)/$(PROJECT_NAME)/Entitlements-Release.plist"]),
|
74
|
+
setup_entitlements(nil,
|
76
75
|
nil,
|
77
|
-
@
|
78
|
-
@
|
79
|
-
|
76
|
+
@extension_target_name,
|
77
|
+
@extension_build_settings_debug,
|
78
|
+
@extension_build_settings_release)
|
79
|
+
#setup_extension_lib_cordova_link
|
80
80
|
setup_framework_search_paths
|
81
81
|
unless @xcframework
|
82
82
|
setup_copy_framework_script
|
@@ -265,8 +265,8 @@ class NotificationExtensionIntegrator
|
|
265
265
|
end
|
266
266
|
|
267
267
|
def setup_entitlements(entitlements_debug_file_paths, entitlements_release_file_paths, target_name, _build_settings_debug, _build_settings_release)
|
268
|
-
entitlements_debug_file_paths = entitlements_debug_file_paths.compact
|
269
|
-
entitlements_release_file_paths = entitlements_release_file_paths.compact
|
268
|
+
entitlements_debug_file_paths = entitlements_debug_file_paths ? entitlements_debug_file_paths.compact : nil
|
269
|
+
entitlements_release_file_paths = entitlements_release_file_paths ? entitlements_release_file_paths.compact : nil
|
270
270
|
@logger.debug("setup_entitlements #{entitlements_debug_file_paths} #{entitlements_release_file_paths} #{target_name} #{_build_settings_debug} #{_build_settings_release}")
|
271
271
|
code_sign_entitlements_key = 'CODE_SIGN_ENTITLEMENTS'
|
272
272
|
aps_env_key = 'aps-environment'
|
@@ -292,7 +292,11 @@ class NotificationExtensionIntegrator
|
|
292
292
|
@logger.info("\tEntitlements settings are equal for debug and release schemes.")
|
293
293
|
|
294
294
|
put_key_array_element("com.apple.security.application-groups", @app_group, entitlements_debug_file_paths)
|
295
|
-
|
295
|
+
|
296
|
+
#aps env should be set only for main target
|
297
|
+
if (target_name != @extension_target_name)
|
298
|
+
put_string_value_into_xml(aps_env_key, development, entitlements_debug_file_paths)
|
299
|
+
end
|
296
300
|
else
|
297
301
|
if (entitlements_debug_file_paths == nil or entitlements_debug_file_paths.empty?) and target_name != nil
|
298
302
|
@logger.error("\tEntitlements debug settings are not set, creating entitlements file")
|
@@ -313,8 +317,12 @@ class NotificationExtensionIntegrator
|
|
313
317
|
end
|
314
318
|
|
315
319
|
put_key_array_element("com.apple.security.application-groups", @app_group, entitlements_debug_file_paths + entitlements_release_file_paths)
|
316
|
-
|
317
|
-
|
320
|
+
|
321
|
+
#aps env should be set only for main target
|
322
|
+
if (target_name != @extension_target_name)
|
323
|
+
put_string_value_into_xml(aps_env_key, development, entitlements_debug_file_paths)
|
324
|
+
put_string_value_into_xml(aps_env_key, production, entitlements_release_file_paths)
|
325
|
+
end
|
318
326
|
end
|
319
327
|
end
|
320
328
|
|
@@ -410,11 +418,16 @@ class NotificationExtensionIntegrator
|
|
410
418
|
remove_embed_framework_phase
|
411
419
|
end
|
412
420
|
|
413
|
-
def
|
414
|
-
|
415
|
-
|
416
|
-
|
417
|
-
|
421
|
+
def setup_target_capabilities_for_extension_target
|
422
|
+
mobile_messaging_capabilities = {"SystemCapabilities" =>
|
423
|
+
{
|
424
|
+
"com.apple.ApplicationGroups.iOS" => {"enabled" => 1},
|
425
|
+
}
|
426
|
+
}
|
427
|
+
setup_target_capabilities(@extension_target.uuid, mobile_messaging_capabilities)
|
428
|
+
end
|
429
|
+
|
430
|
+
def setup_target_capabilities_for_main_target
|
418
431
|
mobile_messaging_capabilities = {"SystemCapabilities" =>
|
419
432
|
{
|
420
433
|
"com.apple.ApplicationGroups.iOS" => {"enabled" => 1},
|
@@ -422,12 +435,20 @@ class NotificationExtensionIntegrator
|
|
422
435
|
"com.apple.BackgroundModes" => {"enabled" => 1}
|
423
436
|
}
|
424
437
|
}
|
438
|
+
setup_target_capabilities(@main_target.uuid, mobile_messaging_capabilities)
|
439
|
+
end
|
440
|
+
|
441
|
+
def setup_target_capabilities(target_uuid, capabilities)
|
442
|
+
unless @project.root_object.attributes["TargetAttributes"]
|
443
|
+
@project.root_object.attributes["TargetAttributes"] = Hash.new
|
444
|
+
end
|
445
|
+
existing_capabilities = @project.root_object.attributes["TargetAttributes"][target_uuid]
|
425
446
|
if existing_capabilities == nil
|
426
|
-
@logger.info("\tSetting TargetAttributes #{
|
427
|
-
@project.root_object.attributes["TargetAttributes"][target_uuid] =
|
447
|
+
@logger.info("\tSetting TargetAttributes #{capabilities} for target #{target_uuid}")
|
448
|
+
@project.root_object.attributes["TargetAttributes"][target_uuid] = capabilities
|
428
449
|
else
|
429
|
-
@logger.info("\tMerging TargetAttributes #{
|
430
|
-
@project.root_object.attributes["TargetAttributes"][target_uuid] = existing_capabilities.merge(
|
450
|
+
@logger.info("\tMerging TargetAttributes #{capabilities} for target #{target_uuid}")
|
451
|
+
@project.root_object.attributes["TargetAttributes"][target_uuid] = existing_capabilities.merge(capabilities)
|
431
452
|
end
|
432
453
|
end
|
433
454
|
|
data/lib/mmine/version.rb
CHANGED
@@ -1,3 +1,3 @@
|
|
1
1
|
module Mmine
|
2
|
-
VERSION = "0.9.
|
3
|
-
end
|
2
|
+
VERSION = "0.9.8"
|
3
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mmine
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrey Kadochnikov
|
@@ -73,7 +73,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
73
73
|
- !ruby/object:Gem::Version
|
74
74
|
version: '0'
|
75
75
|
requirements: []
|
76
|
-
rubygems_version: 3.
|
76
|
+
rubygems_version: 3.1.2
|
77
77
|
signing_key:
|
78
78
|
specification_version: 4
|
79
79
|
summary: Mobile Messaging iOS Notification Extension Integration Tool made at Infobip
|