cocoapods-privacy 0.1.6 → 0.1.8
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
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9b4a00e9abc854afbf658a6361ed8934fd35fa2c08acf7cc17e8a05ffa9f515d
|
4
|
+
data.tar.gz: 70c3102a4c9b371f4c1eb38317dcc4e1f568c19a95349b146902126029742a08
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0d8074f3e754caa905a5452b9e232599654e626f0a119ec1dedf7c5c960c85826ed084a6d52f1f5d32afa81024a68782e4391bda61ca9114857f563722d58d6c
|
7
|
+
data.tar.gz: 13248a72deadcf1117be0c135e1b2724a5106d99654f499081cbbfb53c50bf6c443bf9fe8e81d1ab0894a5e31168c98ea5a722c554ae9b41ad9d26c2ee54c3c5
|
data/README.md
CHANGED
@@ -4,8 +4,9 @@ Apple 2024 will review the App's privacy list in the spring, and any apps that d
|
|
4
4
|
[Click to view details on Apple](https://developer.apple.com/documentation/bundleresources/privacy_manifest_files)
|
5
5
|
|
6
6
|
## Installation
|
7
|
-
|
8
|
-
|
7
|
+
```
|
8
|
+
$ gem install cocoapods-privacy
|
9
|
+
```
|
9
10
|
|
10
11
|
## Usage
|
11
12
|
#### init
|
@@ -26,7 +27,7 @@ There has 3 keys in defalut config, you should custom it!
|
|
26
27
|
|
27
28
|
#### To Component
|
28
29
|
```
|
29
|
-
|
30
|
+
$ pod privacy spec [podspec_file_path]
|
30
31
|
```
|
31
32
|
This command will auto create privacy file, and search the path of podspec' source_files' define relate to NSPrivacyAccessedAPITypes, finaly, write to PrivacyInfo.xcprivacy file.
|
32
33
|
if your component has much subspec, all subspec that define ‘source_files’ will create PrivacyInfo.xcprivacy, and auto modify .podspec link .xcprivacy to 'resource_bundle' key.
|
@@ -68,9 +69,9 @@ end
|
|
68
69
|
|
69
70
|
#### To Project
|
70
71
|
```
|
71
|
-
|
72
|
-
|
73
|
-
|
72
|
+
$ pod install --privacy
|
73
|
+
or
|
74
|
+
$ pod privacy install
|
74
75
|
```
|
75
76
|
<img width="298" alt="截屏2024-02-02 10 59 59" src="https://github.com/ymoyao/cocoapods-privacy/assets/13619221/c6f10e36-0f62-497a-93d4-f8b336dc8df4">
|
76
77
|
|
@@ -103,18 +103,42 @@ class BBSpec
|
|
103
103
|
if @privacy_sources
|
104
104
|
privacy_resource_bundle = { "#{full_name}.privacy" => @privacy_file }
|
105
105
|
if @has_resource_bundle
|
106
|
+
line_incomplete = nil
|
106
107
|
@rows.each_with_index do |line, index|
|
107
|
-
if !line || line.is_a?(BBSpec)
|
108
|
+
if !line || line.is_a?(BBSpec)
|
108
109
|
next
|
109
110
|
end
|
110
111
|
|
111
|
-
|
112
|
-
|
113
|
-
|
112
|
+
is_resource_bundle_line = line.key && line.key.include?(".resource_bundle")
|
113
|
+
if !line.is_comment && (is_resource_bundle_line || line_incomplete)
|
114
|
+
begin
|
115
|
+
if line_incomplete
|
116
|
+
code = "#{line_incomplete.value}#{line.content}"
|
117
|
+
else
|
118
|
+
code = "#{line.value}"
|
119
|
+
end
|
120
|
+
|
121
|
+
# 清除 content 和 value, 后面会把所有的resource_bundle 组装起来,多余的内容要清除,避免重复
|
122
|
+
line.content = ''
|
123
|
+
line.value = nil
|
124
|
+
|
125
|
+
RubyVM::InstructionSequence.compile(code)
|
126
|
+
origin_resource_bundle = eval(code)
|
127
|
+
rescue SyntaxError, StandardError => e
|
128
|
+
unless line_incomplete
|
129
|
+
line_incomplete = line
|
130
|
+
end
|
131
|
+
line_incomplete.value = code if line_incomplete #存储当前残缺的value,和后面完整的进行拼接
|
132
|
+
next
|
133
|
+
end
|
134
|
+
|
135
|
+
final_line = (line_incomplete ? line_incomplete : line)
|
114
136
|
|
137
|
+
merged_resource_bundle = origin_resource_bundle.merge(privacy_resource_bundle)
|
115
138
|
@resource_bundle = merged_resource_bundle
|
116
|
-
|
117
|
-
|
139
|
+
final_line.value = merged_resource_bundle
|
140
|
+
final_line.content = "#{final_line.key}= #{final_line.value}"
|
141
|
+
break
|
118
142
|
end
|
119
143
|
end
|
120
144
|
else
|
@@ -98,8 +98,12 @@ module Pod
|
|
98
98
|
podspec_fold_path = File.dirname(podspec_file_path)
|
99
99
|
source_files = spec.attributes_hash['source_files']
|
100
100
|
if source_files && !source_files.empty?
|
101
|
-
source_files.
|
102
|
-
development_folds << File.join(podspec_fold_path,
|
101
|
+
if source_files.is_a?(String) && !source_files.empty?
|
102
|
+
development_folds << File.join(podspec_fold_path,source_files)
|
103
|
+
elsif source_files.is_a?(Array)
|
104
|
+
source_files.each do |file|
|
105
|
+
development_folds << File.join(podspec_fold_path,file)
|
106
|
+
end
|
103
107
|
end
|
104
108
|
end
|
105
109
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cocoapods-privacy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- youhui
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-02-
|
11
|
+
date: 2024-02-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|