xcadaptor 0.0.3 → 0.0.4

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
  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