larryaasen / upgrader

A Flutter package for prompting users to upgrade when there is a newer version of the app in the store.
MIT License
555 stars 270 forks source link

Unhandled Exception: FormatException: Not a properly formatted version string #12

Closed jjvillavicencio closed 4 years ago

jjvillavicencio commented 4 years ago

Hi, how can I solve this error when implementing the plugin, I did tests and the string that cannot be parse is samsung/hero2ltexx/hero2lte:7.0/NRD90M/G935FXXU2DRB6:user/release-keys

I/flutter (20116): Version: samsung/hero2ltexx/hero2lte:7.0/NRD90M/G935FXXU2DRB6:user/release-keys E/flutter (20116): [ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled Exception: FormatException: Not a properly formatted version stringE/flutter (20116): #0 Version.parse (package:version/version.dart:134)

larryaasen commented 4 years ago

I just published an update to upgrader v0.6.0 that should handle this version string. Since that version string is not a valid semantic version, it will be ignored.

ehsnaskri commented 3 years ago

I am still getting this error.

svyazist2005 commented 3 years ago

I'm still getting this error on IOS environment: sdk: ">=2.1.0 <3.0.0"

dependencies: upgrader: ^2.8.3

flutter: [2021-06-02 15:45:00.237040 | ConsoleHandler | INFO] ============================== CATCHER LOG ============================== flutter: [2021-06-02 15:45:00.238442 | ConsoleHandler | INFO] Crash occured on 2021-06-02 15:45:00.230994 flutter: [2021-06-02 15:45:00.239356 | ConsoleHandler | INFO] flutter: [2021-06-02 15:45:00.242177 | ConsoleHandler | INFO] ------- DEVICE INFO ------- flutter: [2021-06-02 15:45:00.245357 | ConsoleHandler | INFO] model: iPhone flutter: [2021-06-02 15:45:00.246494 | ConsoleHandler | INFO] isPhysicalDevice: false flutter: [2021-06-02 15:45:00.248929 | ConsoleHandler | INFO] name: iPhone SE (2nd generation) flutter: [2021-06-02 15:45:00.252155 | ConsoleHandler | INFO] identifierForVendor: 9C3ACF81-1DDC-4631-91FB-A0FD87EE3ED2 flutter: [2021-06-02 15:45:00.255890 | ConsoleHandler | INFO] localizedModel: iPhone flutter: [2021-06-02 15:45:00.259004 | ConsoleHandler | INFO] systemName: iOS flutter: [2021-06-02 15:45:00.259937 | ConsoleHandler | INFO] utsnameVersion: Darwin Kernel Version 19.6.0: Tue Jan 12 22:13:05 PST 2021; root:xnu-6153.141.16~1/RELEASE_X86_64 flutter: [2021-06-02 15:45:00.261076 | ConsoleHandler | INFO] utsnameRelease: 19.6.0 flutter: [2021-06-02 15:45:00.261722 | ConsoleHandler | INFO] utsnameMachine: x86_64 flutter: [2021-06-02 15:45:00.262373 | ConsoleHandler | INFO] utsnameNodename: MacForFutures-MacBook-Pro.local flutter: [2021-06-02 15:45:00.263864 | ConsoleHandler | INFO] utsnameSysname: Darwin flutter: [2021-06-02 15:45:00.264847 | ConsoleHandler | INFO] flutter: [2021-06-02 15:45:00.266948 | ConsoleHandler | INFO] ------- APP INFO ------- flutter: [2021-06-02 15:45:00.267622 | ConsoleHandler | INFO] environment: debug flutter: [2021-06-02 15:45:00.268517 | ConsoleHandler | INFO] version: 2.0.7 flutter: [2021-06-02 15:45:00.269169 | ConsoleHandler | INFO] appName: null flutter: [2021-06-02 15:45:00.270696 | ConsoleHandler | INFO] buildNumber: 29 flutter: [2021-06-02 15:45:00.273184 | ConsoleHandler | INFO] packageName: com.mixsport.app flutter: [2021-06-02 15:45:00.273897 | ConsoleHandler | INFO] flutter: [2021-06-02 15:45:00.275281 | ConsoleHandler | INFO] ---------- ERROR ---------- flutter: [2021-06-02 15:45:00.275838 | ConsoleHandler | INFO] FormatException: Not a properly formatted version string flutter: [2021-06-02 15:45:00.276275 | ConsoleHandler | INFO] flutter: [2021-06-02 15:45:00.278361 | ConsoleHandler | INFO] ------- STACK TRACE ------- flutter: [2021-06-02 15:45:00.279911 | ConsoleHandler | INFO] #0 Version.parse (package:version/version.dart:139:7) flutter: [2021-06-02 15:45:00.281034 | ConsoleHandler | INFO] #1 Upgrader.isUpdateAvailable (package:upgrader/src/upgrader.dart:374:39) flutter: [2021-06-02 15:45:00.282589 | ConsoleHandler | INFO] #2 Upgrader.shouldDisplayUpgrade (package:upgrader/src/upgrader.dart:319:10) flutter: [2021-06-02 15:45:00.283273 | ConsoleHandler | INFO] #3 Upgrader.checkVersion (package:upgrader/src/upgrader.dart:279:29) flutter: [2021-06-02 15:45:00.285031 | ConsoleHandler | INFO] #4 UpgradeAlert.build. (package:upgrader/src/upgrade_alert.dart:64:24) flutter: [2021-06-02 15:45:00.285794 | ConsoleHandler | INFO] #5 _FutureBuilderState.build (package:flutter/src/widgets/async.dart:751:55) flutter: [2021-06-02 15:45:00.286446 | ConsoleHandler | INFO] #6 StatefulElement.build (package:flutter/src/widgets/framework.dart:4744:28) flutter: [2021-06-02 15:45:00.287200 | ConsoleHandler | INFO] #7 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4627:15) flutter: [2021-06-02 15:45:00.287819 | ConsoleHandler | INFO] #8 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4800:11) flutter: [2021-06-02 15:45:00.288177 | ConsoleHandler | INFO] #9 Element.rebuild (package:flutter/src/widgets/framework.dart:4343:5) flutter: [2021-06-02 15:45:00.288610 | ConsoleHandler | INFO] #10 BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2730:33) flutter: [2021-06-02 15:45:00.288862 | ConsoleHandler | INFO] #11 WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:913:20) flutter: [2021-06-02 15:45:00.289234 | ConsoleHandler | INFO] #12 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:302:5) flutter: [2021-06-02 15:45:00.289605 | ConsoleHandler | INFO] #13 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1117:15) flutter: [2021-06-02 15:45:00.289960 | ConsoleHandler | INFO] #14 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1055:9) flutter: [2021-06-02 15:45:00.290369 | ConsoleHandler | INFO] #15 SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:971:5) flutter: [2021-06-02 15:45:00.290804 | ConsoleHandler | INFO] #16 _rootRun (dart:async/zone.dart:1190:13) flutter: [2021-06-02 15:45:00.291800 | ConsoleHandler | INFO] #17 _CustomZone.run (dart:async/zone.dart:1093:19) flutter: [2021-06-02 15:45:00.292502 | ConsoleHandler | INFO] #18 _CustomZone.runGuarded (dart:async/zone.dart:997:7) flutter: [2021-06-02 15:45:00.293145 | ConsoleHandler | INFO] #19 _invoke (dart:ui/hooks.dart:251:10) flutter: [2021-06-02 15:45:00.293551 | ConsoleHandler | INFO] #20 _drawFrame (dart:ui/hooks.dart:209:3) flutter: [2021-06-02 15:45:00.293842 | ConsoleHandler | INFO] flutter: [2021-06-02 15:45:00.294893 | ConsoleHandler | INFO] ==

larryaasen commented 3 years ago

@svyazist2005 Can you enabled logging with this: debugLogging: true, and include the upgrader log here?

svyazist2005 commented 3 years ago

@svyazist2005 Can you enabled logging with this: debugLogging: true, and include the upgrader log here?

It does does not differ much, anyway please check below:


Running Xcode build...
Xcode build done. 98.4s Waiting for iPhone SE (2nd generation) to report its views... 5ms Syncing files to device iPhone SE (2nd generation)...
flutter: [2021-06-04 19:17:50.364057 | Catcher | FINE] Using debug config

flutter: [2021-06-04 19:17:50.394683 | Catcher | FINE] Catcher configured successfully.

flutter: Orientation.portrait

flutter: 375.0

flutter: 667.0

flutter: 3.75

flutter: 6.67

flutter: upgrader: build UpgradeAlert

flutter: main page refresh

flutter: read key: launchedAtFirtsTime

flutter: ## reading authentication state

flutter: read Secure Storage

flutter: read Secure Storage

flutter: read Secure Storage

flutter: read key: locale

flutter: saved locale

flutter: uk

flutter: String

flutter: read key: notFirstLaunch

flutter: not first launch

flutter: upgrader: package info packageName: com.mixsport.app

flutter: upgrader: package info version: 2.0.7

flutter: upgrader: countryCode: US

flutter: read key: userName

flutter: read key: userId

flutter: ## not authenticated

flutter: checkConnection connected

flutter: fetchFavorites

flutter: getCityName(bloc).toUpperCase()

flutter:

flutter: getCityName(bloc).toUpperCase()

flutter:

flutter: connected Syncing files to device iPhone SE (2nd generation)... 1,590ms

Flutter run key commands. r Hot reload. 🔥🔥🔥 R Hot restart. h Repeat this help message. d Detach (terminate "flutter run" but leave application running). c Clear the screen q Quit (terminate the application on the device). An Observatory debugger and profiler on iPhone SE (2nd generation) is available at: http://127.0.0.1:61922/2L4tz5nC6Ws=/ flutter: [2021-06-04 19:17:56.334268 | Catcher | INFO] Setup localization lazily! flutter: [2021-06-04 19:17:56.355864 | ConsoleHandler | INFO] ============================== CATCHER LOG ============================== flutter: [2021-06-04 19:17:56.357943 | ConsoleHandler | INFO] Crash occured on 2021-06-04 19:17:56.340968 flutter: [2021-06-04 19:17:56.358746 | ConsoleHandler | INFO] flutter: [2021-06-04 19:17:56.361113 | ConsoleHandler | INFO] ------- DEVICE INFO ------- flutter: [2021-06-04 19:17:56.370055 | ConsoleHandler | INFO] model: iPhone flutter: [2021-06-04 19:17:56.371750 | ConsoleHandler | INFO] isPhysicalDevice: false flutter: [2021-06-04 19:17:56.372520 | ConsoleHandler | INFO] name: iPhone SE (2nd generation) flutter: [2021-06-04 19:17:56.373381 | ConsoleHandler | INFO] identifierForVendor: CA363EB6-EF7C-4E38-9447-C01EB1D5EAE7 flutter: [2021-06-04 19:17:56.376119 | ConsoleHandler | INFO] localizedModel: iPhone flutter: [2021-06-04 19:17:56.378643 | ConsoleHandler | INFO] systemName: iOS flutter: [2021-06-04 19:17:56.383082 | ConsoleHandler | INFO] utsnameVersion: Darwin Kernel Version 19.6.0: Tue Jan 12 22:13:05 PST 2021; root:xnu-6153.141.16~1/RELEASE_X86_64 flutter: [2021-06-04 19:17:56.384256 | ConsoleHandler | INFO] utsnameRelease: 19.6.0 flutter: [2021-06-04 19:17:56.385429 | ConsoleHandler | INFO] utsnameMachine: x86_64 flutter: [2021-06-04 19:17:56.386768 | ConsoleHandler | INFO] utsnameNodename: MacForFutures-MacBook-Pro.local flutter: [2021-06-04 19:17:56.387813 | ConsoleHandler | INFO] utsnameSysname: Darwin flutter: [2021-06-04 19:17:56.389431 | ConsoleHandler | INFO] flutter: [2021-06-04 19:17:56.392555 | ConsoleHandler | INFO] ------- APP INFO ------- flutter: [2021-06-04 19:17:56.393960 | ConsoleHandler | INFO] environment: debug flutter: [2021-06-04 19:17:56.394913 | ConsoleHandler | INFO] version: 2.0.7 flutter: [2021-06-04 19:17:56.395620 | ConsoleHandler | INFO] appName: null flutter: [2021-06-04 19:17:56.396395 | ConsoleHandler | INFO] buildNumber: 29 flutter: [2021-06-04 19:17:56.397606 | ConsoleHandler | INFO] packageName: com.mixsport.app flutter: [2021-06-04 19:17:56.399120 | ConsoleHandler | INFO] flutter: [2021-06-04 19:17:56.401423 | ConsoleHandler | INFO] ---------- ERROR ---------- flutter: [2021-06-04 19:17:56.403335 | ConsoleHandler | INFO] FormatException: Not a properly formatted version string flutter: [2021-06-04 19:17:56.404613 | ConsoleHandler | INFO] flutter: [2021-06-04 19:17:56.407134 | ConsoleHandler | INFO] ------- STACK TRACE ------- flutter: [2021-06-04 19:17:56.408933 | ConsoleHandler | INFO] #0 Version.parse (package:version/version.dart:139:7) flutter: [2021-06-04 19:17:56.411017 | ConsoleHandler | INFO] #1 Upgrader.isUpdateAvailable (package:upgrader/src/upgrader.dart:339:39) flutter: [2021-06-04 19:17:56.412587 | ConsoleHandler | INFO] #2 Upgrader.shouldDisplayUpgrade (package:upgrader/src/upgrader.dart:292:10) flutter: [2021-06-04 19:17:56.413408 | ConsoleHandler | INFO] #3 Upgrader.checkVersion (package:upgrader/src/upgrader.dart:265:11) flutter: [2021-06-04 19:17:56.415837 | ConsoleHandler | INFO] #4 UpgradeAlert.build. (package:upgrader/src/upgrade_alert.dart:336:24) flutter: [2021-06-04 19:17:56.416625 | ConsoleHandler | INFO] #5 _FutureBuilderState.build (package:flutter/src/widgets/async.dart:751:55) flutter: [2021-06-04 19:17:56.417940 | ConsoleHandler | INFO] #6 StatefulElement.build (package:flutter/src/widgets/framework.dart:4744:28) flutter: [2021-06-04 19:17:56.421153 | ConsoleHandler | INFO] #7 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4627:15) flutter: [2021-06-04 19:17:56.423116 | ConsoleHandler | INFO] #8 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4800:11) flutter: [2021-06-04 19:17:56.424419 | ConsoleHandler | INFO] #9 Element.rebuild (package:flutter/src/widgets/framework.dart:4343:5) flutter: [2021-06-04 19:17:56.425239 | ConsoleHandler | INFO] #10 BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2730:33) flutter: [2021-06-04 19:17:56.426094 | ConsoleHandler | INFO] #11 WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:913:20) flutter: [2021-06-04 19:17:56.427079 | ConsoleHandler | INFO] #12 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:302:5) flutter: [2021-06-04 19:17:56.427692 | ConsoleHandler | INFO] #13 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1117:15) flutter: [2021-06-04 19:17:56.428298 | ConsoleHandler | INFO] #14 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1055:9) flutter: [2021-06-04 19:17:56.429428 | ConsoleHandler | INFO] #15 SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:971:5) flutter: [2021-06-04 19:17:56.430292 | ConsoleHandler | INFO] #16 _rootRun (dart:async/zone.dart:1190:13) flutter: [2021-06-04 19:17:56.431059 | ConsoleHandler | INFO] #17 _CustomZone.run (dart:async/zone.dart:1093:19) flutter: [2021-06-04 19:17:56.432025 | ConsoleHandler | INFO] #18 _CustomZone.runGuarded (dart:async/zone.dart:997:7) flutter: [2021-06-04 19:17:56.433314 | ConsoleHandler | INFO] #19 _invoke (dart:ui/hooks.dart:251:10) flutter: [2021-06-04 19:17:56.435786 | ConsoleHandler | INFO] #20 _drawFrame (dart:ui/hooks.dart:209:3) flutter: [2021-06-04 19:17:56.437168 | ConsoleHandler | INFO] flutter: [2021-06-04 19:17:56.439087 | ConsoleHandler | INFO] ====================================================================== flutter: [2021-06-04 19:17:56.504221 | Catcher | INFO] Report result: true

larryaasen commented 3 years ago

@svyazist2005 The log is missing this line which was added in version 2.8.1:

upgrader: package info appName:

It would normally be between these lines like this:

upgrader: package info packageName: com.mixsport.app
upgrader: package info appName:
upgrader: package info version: 2.0.7

Please check your pubspec.yaml file for the version of upgrader you are using and list that here in a comment. Make sure you are using version 2.8.3 or later.

svyazist2005 commented 3 years ago

@svyazist2005 The log is missing this line which was added in version 2.8.1:

upgrader: package info appName:

It would normally be between these lines like this:

upgrader: package info packageName: com.mixsport.app
upgrader: package info appName:
upgrader: package info version: 2.0.7

Please check your pubspec.yaml file for the version of upgrader you are using and list that here in a comment. Make sure you are using version 2.8.3 or later.

I'm using upgrader: ^2.8.3

larryaasen commented 3 years ago

@svyazist2005 What does the pubspec.lock file say?

tiagohbalves commented 3 years ago

I'm facing the same problem. I'm using simulator iPhone 12 Pro max - iOS 14.5. This is my log


flutter: upgrader: package info appName: Ligo
flutter: upgrader: package info version: 1.0.5
flutter: upgrader: countryCode: US
flutter: upgrader: blocked: false
flutter: upgrader: debugDisplayAlways: false
flutter: upgrader: debugDisplayOnce: false
flutter: upgrader: hasAlerted: false
flutter: upgrader: appStoreVersion: 1.0.8
flutter: upgrader: installedVersion: 1.0.5
flutter: upgrader: minAppVersion: null
flutter: The following FormatException was thrown building FutureBuilder<bool>(dirty, state:
flutter: _FutureBuilderState<bool>#5ff9e):
flutter: Not a properly formatted version string
flutter:
flutter: The relevant error-causing widget was:
flutter:   FutureBuilder<bool>
flutter:   file:///Users/tiagohbalves/flutter/.pub-cache/hosted/pub.dartlang.org/upgrader-2.8.3/lib/src/upgrade_alert.dart:60:12
flutter:
flutter: When the exception was thrown, this was the stack:
flutter: #0      Version.parse (package:version/version.dart:172:7)
flutter: #1      Upgrader.isUpdateAvailable (package:upgrader/src/upgrader.dart:375:40)
flutter: #2      Upgrader.shouldDisplayUpgrade (package:upgrader/src/upgrader.dart:319:10)
flutter: #3      Upgrader.checkVersion (package:upgrader/src/upgrader.dart:279:29)
flutter: #4      UpgradeAlert.build.<anonymous closure> (package:upgrader/src/upgrade_alert.dart:64:24)
flutter: #5      _FutureBuilderState.build (package:flutter/src/widgets/async.dart:751:55)
flutter: #6      StatefulElement.build (package:flutter/src/widgets/framework.dart:4744:28)
flutter: #7      ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4627:15)
flutter: #8      StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4800:11)
flutter: #9      Element.rebuild (package:flutter/src/widgets/framework.dart:4343:5)
flutter: #10     BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2730:33)
flutter: #11     WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:913:20)
flutter: #12     RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:302:5)
flutter: #13     SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1117:15)
flutter: #14     SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1055:9)
flutter: #15     SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:971:5)
flutter: #19     _invoke (dart:ui/hooks.dart:251:10)
flutter: #20     _drawFrame (dart:ui/hooks.dart:209:3)
flutter: (elided 3 frames from dart:async)
flutter:
flutter: ════════════════════════════════════════════════════════════════════════════════════════════════════

Upgrader version: 2.8.3

larryaasen commented 3 years ago

@tiagohbalves According to the log above, it is crashing on this version: installedVersion: 1.0.5. Is there anything about the 1.0.5 version that could not be parsed by the Version package?

khaledSayedAbdellah commented 1 year ago

still have the same issue at upgrader: ^4.11.1

upgrader: isUpdateAvailable: FormatException: Not a properly formatted version string

my log

flutter: upgrader: instantiated. flutter: upgrader: build UpgradeAlert flutter: upgrader: languageCode: ar flutter: upgrader: default operatingSystem: ios Version 16.1 (Build 20B72) flutter: upgrader: operatingSystem: ios flutter: upgrader: platform: TargetPlatform.iOS flutter: upgrader: isAndroid: false, isIOS: true, isLinux: false, isMacOS: false, isWindows: false, isFuchsia: false, isWeb: false flutter: upgrader: package info packageName: Tawasl.Mrfixit flutter: upgrader: package info appName: Main Pro flutter: upgrader: package info version: 3.0.0 flutter: upgrader: countryCode: US flutter: upgrader: languageCode: ar flutter: upgrader: blocked: false flutter: upgrader: debugDisplayAlways: false flutter: upgrader: debugDisplayOnce: false flutter: upgrader: hasAlerted: false flutter: upgrader: appStoreVersion: version 19.0.1 flutter: upgrader: installedVersion: 3.0.0 flutter: upgrader: minAppVersion: null flutter: upgrader: isUpdateAvailable: FormatException: Not a properly formatted version string flutter: upgrader: isUpdateAvailable: false flutter: upgrader: shouldDisplayUpgrade: false flutter: upgrader: shouldDisplayReleaseNotes: true

any help

larryaasen commented 1 year ago

@khaledSayedAbdellah There seems to be a bug in the Apple App Store listing for this app where the term version is included in the version string like this: version 19.0.1. See this screenshot:

Screen Shot 2022-11-16 at 10 39 26 PM

https://apps.apple.com/us/app/mainpro-%D9%85%D8%A7%D9%8A%D9%86-%D8%A8%D8%B1%D9%88/id1582292480?uo=4

Kan7sh commented 1 year ago

getting this FormatException: Not a properly formatted version string on the latest version