microsoft / appcenter

Central repository for App Center open source resources and planning.
https://appcenter.ms
Creative Commons Attribution 4.0 International
1.01k stars 225 forks source link

iOS apps releases should be sorted first on version then on build number #404

Open tomasz-czyzak opened 5 years ago

tomasz-czyzak commented 5 years ago

What App Center service does this affect? appCenter web pages

Describe the bug Incorrect order of displaying newest iOS application based on build number only. If version of application has changed but it has build lower then previous version then it won't show up as latest available release on https://appcenter.ms/apps/APP_NAME also it won't show up on https://install.appcenter.ms/users/USER/apps/APP_NAME Especially if older version has multiple releases like 0....800 and new version has build number (CFBundleVersion) set for example to 10.

To Reproduce Steps to reproduce the behavior:

  1. have several releases of app with version 1.0.0 (builds from 0...N)
  2. release version 1.1.0 with build 1

Expected behavior 1.1.0 app with build 1 should be shown as newest available while currently newest version is with highest build number (CFBundleVersion)

iOS apps should be sorted first on version (CFBundleShortVersionString) and then on build number (CFBundleVersion). As apple rule says:

The value for a version number must consist only of '.'s and numbers and must begin and end with a number.
Each integer value separated by a period is a component of the version.
Version numbers may have up to three components separated by periods.
The total number of characters in your version number cannot exceed eighteen characters.

source: https://developer.apple.com/library/archive/technotes/tn2420/_index.html

Desktop (please complete the following information):

botatoes commented 5 years ago

Thank you for the suggestion. We are currently sorting the way Apple sorts their version on testflight/app store connect. We will keep this in mind to add additional sorting options when improving the UX in the future.