xcadaptor 0.0.3 → 0.0.4
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/xcadaptor/Adapt/IOS/9.0/bitcode.rb +36 -0
- data/lib/xcadaptor/Adapt/IOS/9.0/ssl.rb +26 -0
- data/lib/xcadaptor/Adapt/IOS/9.0/urlscheme.rb +67 -0
- data/lib/xcadaptor/Config/ssl.rb +52 -0
- data/lib/xcadaptor/adapt.rb +7 -6
- data/lib/xcadaptor/config.rb +20 -0
- data/lib/xcadaptor/{project_method.rb → project.rb} +0 -0
- data/lib/xcadaptor/version.rb +1 -1
- data/lib/xcadaptor.rb +4 -0
- metadata +8 -6
- data/lib/xcadaptor/IOS/9.0/bitcode.rb +0 -30
- data/lib/xcadaptor/IOS/9.0/ssl.rb +0 -20
- data/lib/xcadaptor/IOS/9.0/urlscheme.rb +0 -61
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 64b3ffab06efa5f38f4b9e7bde1628ffb00c9f54
|
4
|
+
data.tar.gz: 9b5764914cff33f3c0961df724369d56018db265
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 011aa52933f64835bf45e135c3f7c9eacb605ef34776646ddf7928c6e98b7c424f023f69e23d3a468eab23e2f8feaa5790238e6b8a35ccf38a2f0a91b1fe3232
|
7
|
+
data.tar.gz: 37d1c955097898fa9fd45be3695774242bedbdb732675e478ab4fdbd370ff28dd830614f189768768e73eb50317c3ad792c70f80d24fb94e573126ca123baef1
|
@@ -0,0 +1,36 @@
|
|
1
|
+
module Xcadaptor
|
2
|
+
|
3
|
+
require_relative '../../../project'
|
4
|
+
|
5
|
+
module AdaptModule
|
6
|
+
module IOS9Module
|
7
|
+
|
8
|
+
class Bitcode
|
9
|
+
|
10
|
+
#main task
|
11
|
+
def self.run
|
12
|
+
project =Xcadaptor::Project.new
|
13
|
+
project.set_all_target_setting("ENABLE_BITCODE",false) do |target,key,value|
|
14
|
+
deploy_version = project.get_target_setting(target,"IPHONEOS_DEPLOYMENT_TARGET")
|
15
|
+
debug_version = deploy_version['Debug'].to_f
|
16
|
+
release_version = deploy_version['Release'].to_f
|
17
|
+
if(debug_version < 6 || release_version < 6)
|
18
|
+
|
19
|
+
if project.get_target_setting(target,"ENABLE_BITCODE")["Debug"] == "YES"
|
20
|
+
puts "-fembed-bitcode is not supported on versions of iOS prior to 6.0. Change bitcode NO\n"
|
21
|
+
next true
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
next false
|
26
|
+
end
|
27
|
+
|
28
|
+
project.save
|
29
|
+
end
|
30
|
+
|
31
|
+
end
|
32
|
+
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module Xcadaptor
|
2
|
+
|
3
|
+
require_relative '../../../project'
|
4
|
+
|
5
|
+
module AdaptModule
|
6
|
+
module IOS9Module
|
7
|
+
|
8
|
+
class Ssl
|
9
|
+
|
10
|
+
def self.run
|
11
|
+
project =Xcadaptor::Project.new
|
12
|
+
info_plist = project.info_plist
|
13
|
+
ssl_key = info_plist['NSAppTransportSecurity']
|
14
|
+
if !ssl_key
|
15
|
+
info_plist['NSAppTransportSecurity'] = {NSAllowsArbitraryLoads: true}
|
16
|
+
puts "add [NSAppTransportSecurity] in plist\n"
|
17
|
+
project.save
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
end
|
22
|
+
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
end
|
@@ -0,0 +1,67 @@
|
|
1
|
+
module Xcadaptor
|
2
|
+
|
3
|
+
require_relative '../../../project'
|
4
|
+
|
5
|
+
module AdaptModule
|
6
|
+
module IOS9Module
|
7
|
+
|
8
|
+
class Urlscheme
|
9
|
+
|
10
|
+
def self.run
|
11
|
+
project =Xcadaptor::Project.new
|
12
|
+
info_plist = project.info_plist
|
13
|
+
key = 'LSApplicationQueriesSchemes'
|
14
|
+
scheme_value = info_plist[key]
|
15
|
+
if !scheme_value
|
16
|
+
info_plist[key] = scheme_array
|
17
|
+
puts "add [#{key}] in plist\n"
|
18
|
+
project.save
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
|
23
|
+
def self.scheme_array
|
24
|
+
[
|
25
|
+
"wechat",
|
26
|
+
"weixin", #weixin
|
27
|
+
"sinaweibohd",
|
28
|
+
"sinaweibo",
|
29
|
+
"sinaweibosso",
|
30
|
+
"weibosdk",
|
31
|
+
"weibosdk2.5", #sina
|
32
|
+
"mqqapi",
|
33
|
+
"mqq",
|
34
|
+
"mqqOpensdkSSoLogin",
|
35
|
+
"mqqconnect",
|
36
|
+
"mqqopensdkdataline",
|
37
|
+
"mqqopensdkgrouptribeshare",
|
38
|
+
"mqqopensdkfriend",
|
39
|
+
"mqqopensdkapi",
|
40
|
+
"mqqopensdkapiV2",
|
41
|
+
"mqqopensdkapiV3",
|
42
|
+
"mqzoneopensdk",
|
43
|
+
"wtloginmqq",
|
44
|
+
"wtloginmqq2",
|
45
|
+
"mqqwpa",
|
46
|
+
"mqzone",
|
47
|
+
"mqzonev2",
|
48
|
+
"mqzoneshare",
|
49
|
+
"wtloginqzone",
|
50
|
+
"mqzonewx",
|
51
|
+
"mqzoneopensdkapiV2",
|
52
|
+
"mqzoneopensdkapi19",
|
53
|
+
"mqzoneopensdkapi",
|
54
|
+
"mqzoneopensdk",#qq
|
55
|
+
"alipay",
|
56
|
+
"alipayshare", #支付宝
|
57
|
+
"yixin",
|
58
|
+
"yixinopenapi", #易信
|
59
|
+
]
|
60
|
+
end
|
61
|
+
|
62
|
+
end
|
63
|
+
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
end
|
@@ -0,0 +1,52 @@
|
|
1
|
+
module Xcadaptor
|
2
|
+
|
3
|
+
module ConfigModule
|
4
|
+
|
5
|
+
class Sll
|
6
|
+
|
7
|
+
#config ssl. wihte_domains is ssl. otherwise block_domains
|
8
|
+
def self.run(black_domains = {},white_domains = {},is_force)
|
9
|
+
project =Xcadaptor::Project.new
|
10
|
+
info_plist = project.info_plist
|
11
|
+
ssl_key = "NSAppTransportSecurity"
|
12
|
+
ssl_value = info_plist[ssl_key]
|
13
|
+
if(ssl_value && !is_force)
|
14
|
+
|
15
|
+
puts '[NSAppTransportSecurity] exsits. use --force to cover it'
|
16
|
+
else
|
17
|
+
|
18
|
+
domains_hash = {}
|
19
|
+
black_domains.each do |domain|
|
20
|
+
domains_hash[domain] = self.exceptionDomains(true)
|
21
|
+
end
|
22
|
+
|
23
|
+
white_domains.each do |domain|
|
24
|
+
domains_hash[domain] = self.exceptionDomains(false)
|
25
|
+
end
|
26
|
+
|
27
|
+
info_plist[ssl_key] = {
|
28
|
+
"NSAllowsArbitraryLoads" => true,
|
29
|
+
"NSExceptionDomains" => domains_hash
|
30
|
+
}
|
31
|
+
|
32
|
+
puts "config NSAppTransportSecurity finished"
|
33
|
+
project.save
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
|
38
|
+
def self.exceptionDomains(is_black)
|
39
|
+
{
|
40
|
+
NSExceptionMinimumTLSVersion: "TLSV1.2",
|
41
|
+
NSExceptionRequiresForwardSecrecy: true,
|
42
|
+
NSExceptionAllowsInsecureHTTPLoads: is_black,
|
43
|
+
NSIncludesSubdomains: true,
|
44
|
+
}
|
45
|
+
end
|
46
|
+
|
47
|
+
end
|
48
|
+
|
49
|
+
|
50
|
+
end
|
51
|
+
|
52
|
+
end
|
data/lib/xcadaptor/adapt.rb
CHANGED
@@ -15,9 +15,9 @@ module Xcadaptor
|
|
15
15
|
--category : category task, eg: 'bitcode' , 'ssl'
|
16
16
|
|
17
17
|
LONGDESC
|
18
|
-
option :category ,:type => :array , :banner => "adapt category , in ios 9 eg: 'bitcode' 'ssl'"
|
18
|
+
option :category ,:type => :array , :banner => "adapt category , in ios 9 eg: 'bitcode' 'ssl'" , aliases:c
|
19
19
|
def ios(version)
|
20
|
-
sub_command_file_path = File.expand_path "#{File.dirname(__FILE__)}/IOS/#{version}"
|
20
|
+
sub_command_file_path = File.expand_path "#{File.dirname(__FILE__)}/Adapt/IOS/#{version}"
|
21
21
|
begin
|
22
22
|
if require_all(sub_command_file_path)
|
23
23
|
function_types = options[:category]
|
@@ -25,7 +25,7 @@ module Xcadaptor
|
|
25
25
|
#excute specified cateoty update
|
26
26
|
function_types.each do |function_type|
|
27
27
|
if File.exist? "#{sub_command_file_path}/#{function_type}.rb"
|
28
|
-
run_category function_type
|
28
|
+
run_category function_type , version
|
29
29
|
else
|
30
30
|
puts "#{function_type} not found\n"
|
31
31
|
end
|
@@ -37,7 +37,7 @@ module Xcadaptor
|
|
37
37
|
Dir.glob("#{sub_command_file_path}/*.rb").each do |f_path|
|
38
38
|
pn = Pathname.new f_path
|
39
39
|
file_name = pn.basename(".*").to_s
|
40
|
-
run_category file_name
|
40
|
+
run_category file_name , version
|
41
41
|
end
|
42
42
|
|
43
43
|
end
|
@@ -60,6 +60,7 @@ module Xcadaptor
|
|
60
60
|
require f_path
|
61
61
|
end
|
62
62
|
rescue => e
|
63
|
+
puts e
|
63
64
|
return false
|
64
65
|
end
|
65
66
|
return true;
|
@@ -67,8 +68,8 @@ module Xcadaptor
|
|
67
68
|
|
68
69
|
|
69
70
|
# run category task
|
70
|
-
def run_category(category_name)
|
71
|
-
class_name = "Xcadaptor::#{category_name.capitalize}"
|
71
|
+
def run_category(category_name,ios_version)
|
72
|
+
class_name = "Xcadaptor::AdaptModule::IOS#{ios_version.to_i}Module::#{category_name.capitalize}"
|
72
73
|
clazz = class_name.split('::').inject(Object) {|o,c| o.const_get c}
|
73
74
|
clazz.run
|
74
75
|
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
require 'thor'
|
2
|
+
|
3
|
+
module Xcadaptor
|
4
|
+
|
5
|
+
class Config < Thor
|
6
|
+
|
7
|
+
require_relative './project'
|
8
|
+
|
9
|
+
desc 'ssl [options]' , "config ssl according [options]"
|
10
|
+
option :black ,:type => :array , :banner => "ssl black domain" , :aliases => :b
|
11
|
+
option :white ,:type => :array , :banner => "ssl white domain" , :aliases => :w
|
12
|
+
option :force ,:type => :boolean , :banner => "force cover" , :aliases => :f
|
13
|
+
def ssl
|
14
|
+
require_relative 'Config/ssl'
|
15
|
+
Xcadaptor::ConfigModule::Sll.run options[:black] , options[:white] , options[:force]
|
16
|
+
end
|
17
|
+
|
18
|
+
end
|
19
|
+
|
20
|
+
end
|
File without changes
|
data/lib/xcadaptor/version.rb
CHANGED
data/lib/xcadaptor.rb
CHANGED
@@ -3,6 +3,7 @@ require 'thor'
|
|
3
3
|
module Xcadaptor
|
4
4
|
|
5
5
|
require_relative 'xcadaptor/adapt'
|
6
|
+
require_relative 'xcadaptor/config'
|
6
7
|
|
7
8
|
class Command < Thor
|
8
9
|
include Thor::Actions
|
@@ -10,6 +11,9 @@ module Xcadaptor
|
|
10
11
|
|
11
12
|
desc "adapt SUBCOMMAND", "manage project adapt"
|
12
13
|
subcommand "adapt", Xcadaptor::Adapt
|
14
|
+
|
15
|
+
desc "config SUBCOMMAND", "config project"
|
16
|
+
subcommand "config", Xcadaptor::Config
|
13
17
|
end
|
14
18
|
|
15
19
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: xcadaptor
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- kaich
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-10-
|
11
|
+
date: 2015-10-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -62,11 +62,13 @@ extra_rdoc_files: []
|
|
62
62
|
files:
|
63
63
|
- bin/xcadaptor
|
64
64
|
- lib/xcadaptor.rb
|
65
|
-
- lib/xcadaptor/IOS/9.0/bitcode.rb
|
66
|
-
- lib/xcadaptor/IOS/9.0/ssl.rb
|
67
|
-
- lib/xcadaptor/IOS/9.0/urlscheme.rb
|
65
|
+
- lib/xcadaptor/Adapt/IOS/9.0/bitcode.rb
|
66
|
+
- lib/xcadaptor/Adapt/IOS/9.0/ssl.rb
|
67
|
+
- lib/xcadaptor/Adapt/IOS/9.0/urlscheme.rb
|
68
|
+
- lib/xcadaptor/Config/ssl.rb
|
68
69
|
- lib/xcadaptor/adapt.rb
|
69
|
-
- lib/xcadaptor/
|
70
|
+
- lib/xcadaptor/config.rb
|
71
|
+
- lib/xcadaptor/project.rb
|
70
72
|
- lib/xcadaptor/version.rb
|
71
73
|
homepage: ''
|
72
74
|
licenses:
|
@@ -1,30 +0,0 @@
|
|
1
|
-
module Xcadaptor
|
2
|
-
|
3
|
-
require_relative '../../project_method'
|
4
|
-
|
5
|
-
class Bitcode
|
6
|
-
|
7
|
-
#main task
|
8
|
-
def self.run
|
9
|
-
project =Xcadaptor::Project.new
|
10
|
-
project.set_all_target_setting("ENABLE_BITCODE",false) do |target,key,value|
|
11
|
-
deploy_version = project.get_target_setting(target,"IPHONEOS_DEPLOYMENT_TARGET")
|
12
|
-
debug_version = deploy_version['Debug'].to_f
|
13
|
-
release_version = deploy_version['Release'].to_f
|
14
|
-
if(debug_version < 6 || release_version < 6)
|
15
|
-
|
16
|
-
if project.get_target_setting(target,"ENABLE_BITCODE")["Debug"] == "YES"
|
17
|
-
puts "-fembed-bitcode is not supported on versions of iOS prior to 6.0. Change bitcode NO\n"
|
18
|
-
next true
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
22
|
-
next false
|
23
|
-
end
|
24
|
-
|
25
|
-
project.save
|
26
|
-
end
|
27
|
-
|
28
|
-
end
|
29
|
-
|
30
|
-
end
|
@@ -1,20 +0,0 @@
|
|
1
|
-
module Xcadaptor
|
2
|
-
|
3
|
-
require_relative '../../project_method'
|
4
|
-
|
5
|
-
class Ssl
|
6
|
-
|
7
|
-
def self.run
|
8
|
-
project =Xcadaptor::Project.new
|
9
|
-
info_plist = project.info_plist
|
10
|
-
ssl_key = info_plist['NSAppTransportSecurity']
|
11
|
-
if !ssl_key
|
12
|
-
info_plist['NSAppTransportSecurity'] = {NSAllowsArbitraryLoads: true}
|
13
|
-
puts "add [NSAppTransportSecurity] in plist\n"
|
14
|
-
project.save
|
15
|
-
end
|
16
|
-
end
|
17
|
-
|
18
|
-
end
|
19
|
-
|
20
|
-
end
|
@@ -1,61 +0,0 @@
|
|
1
|
-
module Xcadaptor
|
2
|
-
|
3
|
-
require_relative '../../project_method'
|
4
|
-
|
5
|
-
class Urlscheme
|
6
|
-
|
7
|
-
def self.run
|
8
|
-
project =Xcadaptor::Project.new
|
9
|
-
info_plist = project.info_plist
|
10
|
-
key = 'LSApplicationQueriesSchemes'
|
11
|
-
scheme_value = info_plist[key]
|
12
|
-
if !scheme_value
|
13
|
-
info_plist[key] = scheme_array
|
14
|
-
puts "add [#{key}] in plist\n"
|
15
|
-
project.save
|
16
|
-
end
|
17
|
-
end
|
18
|
-
|
19
|
-
|
20
|
-
def self.scheme_array
|
21
|
-
[
|
22
|
-
"wechat",
|
23
|
-
"weixin", #weixin
|
24
|
-
"sinaweibohd",
|
25
|
-
"sinaweibo",
|
26
|
-
"sinaweibosso",
|
27
|
-
"weibosdk",
|
28
|
-
"weibosdk2.5", #sina
|
29
|
-
"mqqapi",
|
30
|
-
"mqq",
|
31
|
-
"mqqOpensdkSSoLogin",
|
32
|
-
"mqqconnect",
|
33
|
-
"mqqopensdkdataline",
|
34
|
-
"mqqopensdkgrouptribeshare",
|
35
|
-
"mqqopensdkfriend",
|
36
|
-
"mqqopensdkapi",
|
37
|
-
"mqqopensdkapiV2",
|
38
|
-
"mqqopensdkapiV3",
|
39
|
-
"mqzoneopensdk",
|
40
|
-
"wtloginmqq",
|
41
|
-
"wtloginmqq2",
|
42
|
-
"mqqwpa",
|
43
|
-
"mqzone",
|
44
|
-
"mqzonev2",
|
45
|
-
"mqzoneshare",
|
46
|
-
"wtloginqzone",
|
47
|
-
"mqzonewx",
|
48
|
-
"mqzoneopensdkapiV2",
|
49
|
-
"mqzoneopensdkapi19",
|
50
|
-
"mqzoneopensdkapi",
|
51
|
-
"mqzoneopensdk",#qq
|
52
|
-
"alipay",
|
53
|
-
"alipayshare", #支付宝
|
54
|
-
"yixin",
|
55
|
-
"yixinopenapi", #易信
|
56
|
-
]
|
57
|
-
end
|
58
|
-
|
59
|
-
end
|
60
|
-
|
61
|
-
end
|