Originally Posted by Wovel
They make iTunes 10.4 for 10.6? The whole point of this discussion was that it was only available on Lion...Make up your mind. Is the 10.4 on 10.6 Cocoa? I upgraded all my machines before it was released
It is entirely possible there is no difference between iTunes 10.3 and iTunes 10.4 on Snow Leopard.
iTunes 10.4 has just been released for the following platforms:
OS X 10.5 (supporting all CPUs supported by 10.5, including PPC, x86, and x86_64).
OS X 10.6 (supporting all CPUs supported by 10.6, including x86 and x86_64).
OS X 10.7.
Of these, apparently it's only 64-bit when it's running on OS X 10.7. And this is despite the fact that the Cocoa API has had feature-parity for operation in both 64-bit and 32-bit ever since OS X 10.5.
Of course, in Lion they needed to switch to at least a hybrid Cocoa scheme, because there wouldn't be any Carbon API available to take advantage of Lion's new fullscreen feature.
Now, there's nothing to say that they didn't necessarily switch to Cocoa throughout all supported architectures, but only bothered to make a 64-bit build for Lion. Certainly, the Lion build was a separate build due to the inclusion of the fullscreen mode that cannot appear anywhere else. And since Lion only exists for 64-bit CPU, there's no point in making a 32-bit Lion build.
However, even if they did choose to make a 64-bit build available for the older OSes, they would still have needed to make the 32-bit build available too, because 32-bit CPUs exist for each of the older OSes.
Maybe they figured that a 3-architecture Universal Binary (PPC, x86 Leopard/Snow Leopard, x86_64 Lion) was already taking up too much disk space/download bandwidth, and it would simply be wasteful to include any additional 64 bit builds that weren't absolutely necessary to ensure adequate functionality.
Also, note that in order to have access to the fullscreen API in Lion, they must be using XCode 4.x (or some confidential Apple-internal equivalent of it), granting access to the new Lion APIs. However, in order to target Leopard PPC users, they must have also been using the XCode 3.x (or some confidential Apple-internal equivalent of it), because XCode 4.x no longer supports compiling PPC code. So they may very well have two divergent code sets, one for use in XCode 3.x, and one for use in XCode 4.x. In fact, perhaps they have three divergent code sets, once you include the Windows version.