Incorrect version string for Apple generic versioning

Bug #294321 reported by Karl Moskowski
2
Affects Status Importance Assigned to Milestone
Sparkle
Won't Fix
Undecided
Unassigned

Bug Description

Unless I'm missing something, the method descriptionText in SUUpdateAlert.m incorrectly constructs the version string for applications built with Apple generic versioning. It only shows CFBundleShortVersionString; it should append CFBundleVersion in parentheses (like in the standard About panel).

For example, if an app is at version 1.0 (1) and the newest available version is 1.0 (2) (which I set in the appcast as sparkle:version="2" sparkle:shortVersionString="1.0 (2)") then it should show something like:
 MyApp 1.0 (2) is now available--you have 1.0 (1).
Instead, it shows:
 MyApp 1.0 (2) is now available--you have 1.0.
which is a little amibguous.

Revision history for this message
Andy Matuschak (andymatuschak) wrote :

There are one-to-one mappings here that I think are getting confused:

sparkle:version <=> CFBundleVersion
sparkle:shortVersionString <=> CFBundleShortVersionString

Sparkle will append the CFBundleVersion in parentheses as you request, but only if the short version strings are the same, as they should be in this case. You have "1.0" as the short version string of version 1 and "1.0 (2)" as the short version string of version 2, which is inconsistent. Set the sparkle:shortVersionString to "1.0" for your version 2, and it'll do what you want.

Changed in sparkle:
status: New → Won't Fix
Revision history for this message
Karl Moskowski (kolpanic-deactivatedaccount) wrote :

Works like a charm! Thanks for clearing that up, Andy.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.