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
         
     |