app-info 2.8.4 → 2.8.5
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/CHANGELOG.md +8 -2
- data/README.md +10 -0
- data/lib/app_info/error.rb +2 -0
- data/lib/app_info/protobuf/manifest.rb +16 -8
- data/lib/app_info/version.rb +1 -1
- data/lib/app_info.rb +7 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f9406b7552e0bea00883446b85250398c7818120de74d0d6d3545d7b9b0d7ef6
|
4
|
+
data.tar.gz: a99bb2c55b4214ad72f8e6cf2e720199902fb37ad174b71bb5f9f4d529ba81a3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: '018d93bb67f489d4908f0701285ee6c177a627f3b5c602e90c24629da25f91fc2f5cb9b091675d471741361211289b71ed7c1ab51402f30cea843126c9c6271c'
|
7
|
+
data.tar.gz: 5eecd5818b12032898d33a14f74c43592d120ab751b2e4393591b0fd81e4df5cebb94342111478392fd84c5963f762de0383873c547176f74d546f7bfb7b8013
|
data/CHANGELOG.md
CHANGED
@@ -9,11 +9,16 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
|
|
9
9
|
|
10
10
|
> List all changes before release a new version.
|
11
11
|
|
12
|
-
## [2.8.
|
12
|
+
## [2.8.5] (2023-03-16)
|
13
13
|
|
14
14
|
### Fixed
|
15
15
|
|
16
16
|
- Sync the latest appt2 proto files to parse Android SDK 31+ for aab parser. [#51](https://github.com/icyleaf/app_info/issues/51) (thanks @[UpBra](https://github.com/UpBra))
|
17
|
+
|
18
|
+
## [2.8.4] (2023-03-09)
|
19
|
+
|
20
|
+
### Fixed
|
21
|
+
|
17
22
|
- Force android device return as boolean for aab parser.
|
18
23
|
- Handle string resources referencing other resources for apk parser.
|
19
24
|
|
@@ -242,7 +247,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
|
|
242
247
|
|
243
248
|
- Updated dependency of CFPropertly list be a range between 2.3.4. (thanks @[cschroed](https://github.com/cschroed))
|
244
249
|
|
245
|
-
[Unreleased]: https://github.com/icyleaf/app-info/compare/v2.8.
|
250
|
+
[Unreleased]: https://github.com/icyleaf/app-info/compare/v2.8.5..HEAD
|
251
|
+
[2.8.5]: https://github.com/icyleaf/app-info/compare/v2.8.4...v2.8.5
|
246
252
|
[2.8.4]: https://github.com/icyleaf/app-info/compare/v2.8.3...v2.8.4
|
247
253
|
[2.8.3]: https://github.com/icyleaf/app-info/compare/v2.8.2...v2.8.3
|
248
254
|
[2.8.2]: https://github.com/icyleaf/app-info/compare/v2.8.1...v2.8.2
|
data/README.md
CHANGED
@@ -20,6 +20,16 @@ Teardown tool for mobile app (ipa, apk and aab file), macOS app and dSYM.zip fil
|
|
20
20
|
- `.app.zip`
|
21
21
|
- Zipped dSYMs file
|
22
22
|
- `.dSYM.zip`
|
23
|
+
|
24
|
+
<hr />
|
25
|
+
|
26
|
+

|
27
|
+

|
28
|
+
|
29
|
+
[Zealot](https://zealot.ews.im/docs/user-guide/) is a self-hosted Beta App Distribution for Android, iOS and macOS apps. app_info it the core inside.
|
30
|
+
|
31
|
+
<hr />
|
32
|
+
|
23
33
|
## Installation
|
24
34
|
|
25
35
|
Add this line to your application's Gemfile:
|
data/lib/app_info/error.rb
CHANGED
@@ -17,7 +17,7 @@ module AppInfo
|
|
17
17
|
private
|
18
18
|
|
19
19
|
def parse(_)
|
20
|
-
raise 'not implemented'
|
20
|
+
raise ProtobufParseError, 'not implemented'
|
21
21
|
end
|
22
22
|
end
|
23
23
|
|
@@ -152,6 +152,8 @@ module AppInfo
|
|
152
152
|
|
153
153
|
def intent_filters(search: nil)
|
154
154
|
activities.each_with_object([]) do |activity, obj|
|
155
|
+
next unless activity.respond_to?(:intent_filter)
|
156
|
+
|
155
157
|
intent_filters = activity.intent_filter
|
156
158
|
next if intent_filters.nil? || intent_filters&.empty?
|
157
159
|
|
@@ -182,6 +184,8 @@ module AppInfo
|
|
182
184
|
CATEGORY_BROWSABLE = 'android.intent.category.BROWSABLE'
|
183
185
|
|
184
186
|
def deep_links?
|
187
|
+
return unless respond_to?(:data)
|
188
|
+
|
185
189
|
browsable? && data.any? { |d| DEEP_LINK_SCHEMES.include?(d.scheme) }
|
186
190
|
end
|
187
191
|
|
@@ -193,6 +197,12 @@ module AppInfo
|
|
193
197
|
.uniq
|
194
198
|
end
|
195
199
|
|
200
|
+
def schemes?
|
201
|
+
return unless respond_to?(:data)
|
202
|
+
|
203
|
+
browsable? && data.any? { |d| !DEEP_LINK_SCHEMES.include?(d.scheme) }
|
204
|
+
end
|
205
|
+
|
196
206
|
def schemes
|
197
207
|
return unless schemes?
|
198
208
|
|
@@ -201,23 +211,21 @@ module AppInfo
|
|
201
211
|
.uniq
|
202
212
|
end
|
203
213
|
|
204
|
-
def schemes?
|
205
|
-
browsable? && data.any? { |d| !DEEP_LINK_SCHEMES.include?(d.scheme) }
|
206
|
-
end
|
207
|
-
|
208
214
|
def browsable?
|
209
215
|
exist?(CATEGORY_BROWSABLE)
|
210
216
|
end
|
211
217
|
|
212
218
|
def exist?(name, type: nil)
|
213
219
|
if type.to_s.empty? && !name.start_with?('android.intent.')
|
214
|
-
raise '
|
220
|
+
raise ProtobufParseError, 'Not found intent type'
|
215
221
|
end
|
216
222
|
|
217
223
|
type ||= name.split('.')[2]
|
218
|
-
raise 'Not found type' unless TYPES.include?(type)
|
224
|
+
raise ProtobufParseError, 'Not found intent type' unless TYPES.include?(type)
|
225
|
+
|
226
|
+
return false unless intent = send(type.to_sym)
|
219
227
|
|
220
|
-
values =
|
228
|
+
values = intent.select { |e| e.name == name }
|
221
229
|
values.empty? ? false : values
|
222
230
|
end
|
223
231
|
end
|
data/lib/app_info/version.rb
CHANGED
data/lib/app_info.rb
CHANGED
@@ -26,6 +26,8 @@ Zip.warn_invalid_date = false
|
|
26
26
|
# AppInfo Module
|
27
27
|
module AppInfo
|
28
28
|
class << self
|
29
|
+
UNKNOWN_FORMAT = :unkown
|
30
|
+
|
29
31
|
# Get a new parser for automatic
|
30
32
|
def parse(file)
|
31
33
|
raise NotFoundError, file unless File.exist?(file)
|
@@ -44,6 +46,10 @@ module AppInfo
|
|
44
46
|
end
|
45
47
|
alias dump parse
|
46
48
|
|
49
|
+
def parse?(file)
|
50
|
+
file_type(file) != UNKNOWN_FORMAT
|
51
|
+
end
|
52
|
+
|
47
53
|
# Detect file type by read file header
|
48
54
|
#
|
49
55
|
# TODO: This can be better solution, if anyone knows, tell me please.
|
@@ -55,7 +61,7 @@ module AppInfo
|
|
55
61
|
detect_mobileprovision(header_hex)
|
56
62
|
end
|
57
63
|
|
58
|
-
type ||
|
64
|
+
type || UNKNOWN_FORMAT
|
59
65
|
end
|
60
66
|
|
61
67
|
private
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: app-info
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.8.
|
4
|
+
version: 2.8.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- icyleaf
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-03-
|
11
|
+
date: 2023-03-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: CFPropertyList
|