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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 18dc6813bbe3c26aff4f2d6aa5516884753d565a
4
- data.tar.gz: 74b99dc54efc1ea22dbfaad835ceb0ae9fc4b834
3
+ metadata.gz: 64b3ffab06efa5f38f4b9e7bde1628ffb00c9f54
4
+ data.tar.gz: 9b5764914cff33f3c0961df724369d56018db265
5
5
  SHA512:
6
- metadata.gz: e609dfee532587c0acb85fc3778c8aea8054ff6a8b8a5e8879f0e78b97c0728a671e0be866ac0be0a87daca993a8a4b5a1dd32ec2c00838b07e3e73f2fbf0ae2
7
- data.tar.gz: 26d85af9713d99f61a5cac1a910be78178185c1ab73c618125757357f1d2d77fdcf25873731f36c862438e720c28ce44dd6d51eebf764ca4d7e40681a046fa2a
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
@@ -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
@@ -1,3 +1,3 @@
1
1
  module Xcadaptor
2
- VERSION = "0.0.3"
2
+ VERSION = "0.0.4"
3
3
  end
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.3
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-20 00:00:00.000000000 Z
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/project_method.rb
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