cocoapods-keys 2.0.5 → 2.2.1
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 +5 -5
- data/CHANGELOG.md +23 -3
- data/Gemfile.lock +4 -4
- data/README.md +11 -11
- data/SWIFT_PROJECTS.md +1 -1
- data/lib/cocoapods_keys.rb +1 -1
- data/lib/key_master.rb +1 -1
- data/lib/pod/command/keys/generate.rb +6 -1
- data/lib/pod/command/keys/set.rb +1 -0
- data/lib/preinstaller.rb +0 -1
- data/templates/Keys.m.erb +24 -32
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 86d06ce794bdfa758b1001238ec11e6ae635274623f72ca9722ff33b7b11ae4c
|
4
|
+
data.tar.gz: bd2d607a2b0956d7c2e0fc620fc2bd115861dbc041fe297c474a1b63c33b49b1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fea1b50b535fedd2326333f297620ec467d2de7416a7bae36af2cfe7414f85edf9b69b30cc08648adcd4294718e14ccab7c3d37cbffca2f687290f3e2d452fc8
|
7
|
+
data.tar.gz: dfb7ce7bd1ff9648f802357c32acf44579ae76b1e035d1b526f73b7b1b901b314ab3eacd9fc739b0d137e3c61455dfb6f23a1f9c85e2084b56a3f542860e7a0a
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,25 @@
|
|
1
1
|
## Master
|
2
2
|
|
3
|
+
## 2.2.1
|
4
|
+
|
5
|
+
* Fixed Keys.m generation when there are empty-string keys. [rogerluan]
|
6
|
+
|
7
|
+
## 2.2.0
|
8
|
+
|
9
|
+
* Revised template which doesn't allow for secrets to appear in the binaries in modern Xcode builds. [ashfurrow]
|
10
|
+
|
11
|
+
## 2.1.0
|
12
|
+
|
13
|
+
* Add the ability to manually specify keys when running `pod keys generate`. [fwal]
|
14
|
+
|
15
|
+
## 2.0.7
|
16
|
+
|
17
|
+
* Fix keys not recorded in YML on first run. [ileitch]
|
18
|
+
|
19
|
+
## 2.0.6
|
20
|
+
|
21
|
+
* Makes list of keys unique on the yaml file [leoformaggio]
|
22
|
+
|
3
23
|
## 2.0.4 - 2.0.5
|
4
24
|
|
5
25
|
* Handles more CIs [SlaunchaMan]
|
@@ -10,15 +30,15 @@
|
|
10
30
|
|
11
31
|
## 2.0.2
|
12
32
|
|
13
|
-
* Sets a minimum iOS target of 8.0 [orta]
|
33
|
+
* Sets a minimum iOS target of 8.0 [orta]
|
14
34
|
|
15
35
|
## 2.0.1
|
16
36
|
|
17
|
-
* Handles more CI types [m-ruhl]
|
37
|
+
* Handles more CI types [m-ruhl]
|
18
38
|
|
19
39
|
## 2.0.0
|
20
40
|
|
21
|
-
* Handles casing correctly in generated key names [breaking] [marcelofabri]
|
41
|
+
* Handles casing correctly in generated key names [breaking] [marcelofabri]
|
22
42
|
* Adds Nullability notations to default erb template [Skogetroll]
|
23
43
|
* Use properties for accessing key values instead of functions [breaking, for swift] [Skogetroll]
|
24
44
|
* Don't ask for keys on the command line when running on CI. [dantoml]
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
cocoapods-keys (2.0
|
4
|
+
cocoapods-keys (2.1.0)
|
5
5
|
dotenv
|
6
6
|
osx_keychain
|
7
7
|
|
@@ -11,7 +11,7 @@ GEM
|
|
11
11
|
CFPropertyList (2.3.5)
|
12
12
|
RubyInline (3.12.4)
|
13
13
|
ZenTest (~> 4.3)
|
14
|
-
ZenTest (4.11.
|
14
|
+
ZenTest (4.11.2)
|
15
15
|
activesupport (4.2.9)
|
16
16
|
i18n (~> 0.7)
|
17
17
|
minitest (~> 5.1)
|
@@ -53,7 +53,7 @@ GEM
|
|
53
53
|
colored (1.2)
|
54
54
|
colored2 (3.1.2)
|
55
55
|
diff-lcs (1.3)
|
56
|
-
dotenv (2.
|
56
|
+
dotenv (2.6.0)
|
57
57
|
escape (0.0.4)
|
58
58
|
fourflusher (0.3.2)
|
59
59
|
fuzzy_match (2.0.4)
|
@@ -116,4 +116,4 @@ DEPENDENCIES
|
|
116
116
|
rubocop
|
117
117
|
|
118
118
|
BUNDLED WITH
|
119
|
-
1.16.
|
119
|
+
1.16.4
|
data/README.md
CHANGED
@@ -42,23 +42,23 @@ Then running `pod install` will prompt for the keys not yet set and you can ensu
|
|
42
42
|
|
43
43
|
You can save keys on a per-project basis by running the command:
|
44
44
|
|
45
|
-
$ pod keys set KEY VALUE
|
45
|
+
$ bundle exec pod keys set KEY VALUE
|
46
46
|
|
47
47
|
You can list all known keys by running:
|
48
48
|
|
49
|
-
$ pod keys
|
49
|
+
$ bundle exec pod keys
|
50
50
|
|
51
51
|
For example:
|
52
52
|
|
53
53
|
``` sh
|
54
54
|
$ cd MyApplication
|
55
|
-
$ pod keys set "NetworkAPIToken" "AH2ZMiraGQbyUd9GkNTNfWEdxlwXcmHciEOH"
|
55
|
+
$ bundle exec pod keys set "NetworkAPIToken" "AH2ZMiraGQbyUd9GkNTNfWEdxlwXcmHciEOH"
|
56
56
|
Saved NetworkAPIToken to MyApplication.
|
57
57
|
|
58
|
-
$ pod keys set "AnalyticsToken" "6TYKGVCn7sBSBFpwfSUCclzDoSBtEXw7"
|
58
|
+
$ bundle exec pod keys set "AnalyticsToken" "6TYKGVCn7sBSBFpwfSUCclzDoSBtEXw7"
|
59
59
|
Saved AnalyticsToken to MyApplication.
|
60
60
|
|
61
|
-
$ pod keys
|
61
|
+
$ bundle exec pod keys
|
62
62
|
Keys for MyApplication
|
63
63
|
├ NetworkAPIToken - AH2ZMiraGQbyUd9GkNTNfWEdxlwXcmHciEOH
|
64
64
|
└ AnalyticsToken - 6TYKGVCn7sBSBFpwfSUCclzDoSBtEXw7
|
@@ -95,16 +95,16 @@ Some documentation is also available to [use cocoapods-keys in Swift projects](S
|
|
95
95
|
|
96
96
|
CocoaPods-keys has 3 other commands:
|
97
97
|
|
98
|
-
* `pod keys get [key] [optional project]`
|
98
|
+
* `bundle exec pod keys get [key] [optional project]`
|
99
99
|
Which will output the value of the key to STDOUT, useful for scripting.
|
100
100
|
|
101
|
-
* `pod keys rm [key] [optional project]`
|
102
|
-
Will remove a key from a project.
|
101
|
+
* `bundle exec pod keys rm [key] [optional project]`
|
102
|
+
Will remove a key from a project.
|
103
103
|
|
104
|
-
If Wildcards are included, it will remove the keys matching the pattern. E.g.: `pod keys rm "G*og*"` will remove *all* the keys that begin with 'G', have 'og' in the middle and end with anything.
|
105
|
-
To nuke all the keys, run either `pod keys rm "*"` or `pod keys rm --all`
|
104
|
+
If Wildcards are included, it will remove the keys matching the pattern. E.g.: `bundle exec pod keys rm "G*og*"` will remove *all* the keys that begin with 'G', have 'og' in the middle and end with anything.
|
105
|
+
To nuke all the keys, run either `bundle exec pod keys rm "*"` or `bundle exec pod keys rm --all`
|
106
106
|
|
107
|
-
* `pod keys generate [optional project]`
|
107
|
+
* `bundle exec pod keys generate [optional project]`
|
108
108
|
Will generate the obfuscated Objective-C keys class (mainly used internally).
|
109
109
|
|
110
110
|
#### Continuous Integration
|
data/SWIFT_PROJECTS.md
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# Using CocoaPods-Keys in Swift projects
|
2
2
|
|
3
3
|
Once you've followed the setup instructions described in the [Usage](README.md#usage)
|
4
|
-
section of the README, you
|
4
|
+
section of the README, you are ready to use `Keys` from Swift.
|
5
5
|
|
6
6
|
## Importing the framework
|
7
7
|
|
data/lib/cocoapods_keys.rb
CHANGED
data/lib/key_master.rb
CHANGED
@@ -84,7 +84,7 @@ module CocoaPodsKeys
|
|
84
84
|
end
|
85
85
|
|
86
86
|
def key_data_arrays
|
87
|
-
Hash[@indexed_keys.map { |key, value| [key, value.map { |i| name + "Data
|
87
|
+
Hash[@indexed_keys.map { |key, value| [key, value.map { |i| '[' + name + "Data characterAtIndex:#{i}]" }.join(', ')] }]
|
88
88
|
end
|
89
89
|
end
|
90
90
|
end
|
@@ -16,14 +16,19 @@ module Pod
|
|
16
16
|
|
17
17
|
self.arguments = [CLAide::Argument.new('project_name', false)]
|
18
18
|
|
19
|
+
def self.options
|
20
|
+
[['--keys=key1,key2...', 'An array of keys to add if no keyring is found']].concat(super)
|
21
|
+
end
|
22
|
+
|
19
23
|
def initialize(argv)
|
20
24
|
@project_name = argv.shift_argument
|
25
|
+
@keys = argv.option('keys', '').split(',')
|
21
26
|
super
|
22
27
|
end
|
23
28
|
|
24
29
|
def run
|
25
30
|
Dotenv.load
|
26
|
-
keyring = get_current_keyring
|
31
|
+
keyring = get_current_keyring || CocoaPodsKeys::Keyring.new(@project_name, '/', @keys)
|
27
32
|
|
28
33
|
if keyring
|
29
34
|
|
data/lib/pod/command/keys/set.rb
CHANGED
data/lib/preinstaller.rb
CHANGED
data/templates/Keys.m.erb
CHANGED
@@ -4,51 +4,43 @@
|
|
4
4
|
// For more information see https://github.com/orta/cocoapods-keys
|
5
5
|
//
|
6
6
|
|
7
|
-
#import <objc/runtime.h>
|
8
7
|
#import <Foundation/NSDictionary.h>
|
9
8
|
#import "<%= @name %>.h"
|
10
9
|
|
11
|
-
|
12
|
-
#pragma clang diagnostic ignored "-Wincomplete-implementation"
|
10
|
+
@interface <%= @name %> ()
|
13
11
|
|
14
|
-
@
|
15
|
-
<%
|
16
|
-
@dynamic <%= key %>;<% end %>
|
12
|
+
<% @keys.each do |key, value| %>@property (nonatomic, copy) NSString *<%= key %>;
|
13
|
+
<% end %>
|
17
14
|
|
18
|
-
|
15
|
+
@end
|
19
16
|
|
20
|
-
|
21
|
-
{
|
22
|
-
NSString *key = NSStringFromSelector(name);
|
23
|
-
NSString * (*implementation)(<%= name %> *, SEL) = NULL;
|
24
|
-
<% @keys.each do |key, value| %>
|
25
|
-
if ([key isEqualToString:@"<%= key %>"]) {
|
26
|
-
implementation = _podKeys<%= Digest::MD5.hexdigest(key) %>;
|
27
|
-
}
|
28
|
-
<% end %>
|
29
|
-
if (!implementation) {
|
30
|
-
return [super resolveInstanceMethod:name];
|
31
|
-
}
|
17
|
+
@implementation <%= @name %>
|
32
18
|
|
33
|
-
|
34
|
-
}
|
35
|
-
<% @keys.each do |key, value| %>
|
36
|
-
static NSString *_podKeys<%= Digest::MD5.hexdigest(key) %>(<%= name %> *self, SEL _cmd)
|
19
|
+
- (instancetype)init
|
37
20
|
{
|
38
|
-
|
21
|
+
if (!(self = [super init])) { return nil; }
|
22
|
+
|
23
|
+
<% @keys.each do |key, value| %>
|
39
24
|
<% if @indexed_keys[key].length > 0 %>
|
40
|
-
char
|
25
|
+
char <%= key %>CString[<%= @indexed_keys[key].length + 1 %>] = { <%= key_data_arrays[key] %>, '\0' };
|
41
26
|
<% else %>
|
42
|
-
char
|
27
|
+
char <%= key %>CString[<%= @indexed_keys[key].length + 1 %>] = { '\0' };
|
28
|
+
<% end %>
|
29
|
+
_<%= key %> = <% if @indexed_keys.length > 0 %>
|
30
|
+
<% if @indexed_keys[key].length > 0 %>
|
31
|
+
[NSString stringWithCString:<%= key %>CString encoding:NSUTF8StringEncoding];
|
32
|
+
<% else %>
|
33
|
+
@"";
|
34
|
+
<% end %>
|
35
|
+
<% else %>
|
36
|
+
@"";
|
37
|
+
<% end %>
|
43
38
|
<% end %>
|
44
|
-
|
45
|
-
|
46
|
-
return @"";
|
47
|
-
<% end %>
|
39
|
+
|
40
|
+
return self;
|
48
41
|
}
|
49
|
-
<% end %>
|
50
42
|
|
51
|
-
static
|
43
|
+
static NSString *<%= name %>Data = @"<%= @data.gsub('\\', '\\\\\\').gsub('"', '\\"') if @data %>";
|
52
44
|
|
53
45
|
- (NSString *)description
|
54
46
|
{
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cocoapods-keys
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Orta Therox
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2020-07-03 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: osx_keychain
|
@@ -164,7 +164,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
164
164
|
version: '0'
|
165
165
|
requirements: []
|
166
166
|
rubyforge_project:
|
167
|
-
rubygems_version: 2.
|
167
|
+
rubygems_version: 2.7.6
|
168
168
|
signing_key:
|
169
169
|
specification_version: 4
|
170
170
|
summary: CocoaPods Keys will store sensitive data in your Mac's keychain. Then on
|